为数据狗浏览器日志添加标签



我正在使用Datadog来监视我的浏览器控制台日志。我需要为数据狗日志添加不同的标签。我唯一的选择是使用以下方法向我的记录器添加属性,

DD_LOGS.addContext('referrer', document.referrer);

前端客户端应用程序有什么方法可以在数据狗中具有标记吗?或者属性和标签在 Datadog 中是否相同

在 Datadog 日志中,与执行环境关联的标签与日志条目内容上设置的属性之间存在差异。

从文档中的此部分:

上下文

是指在其中生成日志的基础结构和应用程序上下文。从标记收集信息 - 是否自动附加(主机名、容器名称、日志文件名称、无服务器函数名称等(—或通过 Datadog 代理或日志转发器在日志上的自定义标记(负责团队、环境、应用程序版本等(添加。

查看浏览器SDK的来源,我们可以看到:

...
const tags =
`sdk_version:${conf.sdkVersion}` +
`${conf.env ? `,env:${conf.env}` : ''}` +
`${conf.service ? `,service:${conf.service}` : ''}` +
`${conf.version ? `,version:${conf.version}` : ''}`
const datadogHost = `${type}-http-intake.logs.${domain}`
const host = conf.proxyHost ? conf.proxyHost : datadogHost
const proxyParameter = conf.proxyHost ? `ddhost=${datadogHost}&` : ''
return `https://${host}/v1/input/${conf.clientToken}?${proxyParameter}ddsource=${source || 'browser'}&ddtags=${tags}`
...

这向我们表明,正在提交的tags查询字符串参数是基于配置计算的,并且仅提供少量用户可配置的条目,例如envservice- 这些条目是最近在版本 1.11.5 中发布的 - 这是引入它们的更改。

因此,您可能无法为特定日志条目设置标签- 而是可以为每个日志条目设置属性,如您共享的示例所示,该示例为整个记录器实例设置属性。 属性是日志内容的一部分 - 可在日志条目的正文中查看。

是的,这很令人困惑,因为所使用的函数被命名为addContext/setContext- 并且这些设置与文档的"上下文"不同 - 而是修改与日志条目关联的属性。

在这种情况下,您可能希望具有为该记录器提供特定属性的自定义记录器实例,或者将上下文内联添加到日志条目,如下所示:

DD_LOGS.logger.info('Page Viewed', { referrer: document.referrer });

下面是有关此方法的文档,其中显示了每个日志条目设置的其他默认属性。

最新更新