为 Datadog 浏览器日志添加标签

Ant*_*son 4 datadog

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

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

有没有办法让前端客户端应用程序在 datadog 中包含标签?或者Datadog中的属性和标签是否相同

Mik*_*ler 8

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

\n\n

文档的本节中

\n\n
\n

语境是指生成日志的基础设施和应用程序上下文。信息从标签\xe2\x80\x94收集,无论是自动附加(主机名、容器名称、日志文件名、无服务器函数名称等)\xe2\x80\x94还是通过自定义标签添加(负责团队、环境、应用程序版本)等)由Datadog代理或日志转发器记录在日志上。

\n
\n\n

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

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

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

\n\n

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

\n\n

是的,这很令人困惑,因为使用的函数被命名为addContext/ setContext- 并且它们不会设置与文档的“上下文”相同的内容 - 相反,它们修改与日志条目关联的属性。

\n\n

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

\n\n
DD_LOGS.logger.info(\'Page Viewed\', { referrer: document.referrer });\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n