问题标签 [bunyan]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1310 浏览

javascript - 使用基于快速请求的变量进行日志记录(相关 ID)

我们正在向我们的 node express 应用程序添加相关 ID,以将请求绑定在一起。这个 id 是从其他服务的标头中发送的,我们的中间件收集 id,创建一个带有 id 的 bunyan 记录器并将其添加到请求对象中。

我们的路线目前如下所示:

当前提出的解决方案类似于以下内容:

这意味着doSomething它调用的每个函数都需要接受日志记录对象作为参数。这意味着几乎每个函数都需要接受一个日志对象。

例如:

有没有更好的方法可以在每个请求的基础上进行此日志记录,而无需将日志记录对象传递给每个函数?

0 投票
1 回答
286 浏览

javascript - 将自定义级别添加到 bunyan 实例

我创建了一个 bunyan 的记录器实例

创建此 createLogger 的实例后,我将流添加到 createLogger 实例,如下所示 -

我只是希望能够log.logRequest()在需要记录的任何地方用作函数。但我不断收到这个错误 -

“记录器”类型上不存在属性“logRequest”

请提出一个答案。

0 投票
2 回答
429 浏览

javascript - 创建 bunyan Child Logger 时的路径问题

在这个简单的应用程序中,两个不同的文件foo.jsbar.js导入Logger.js创建了一个bunyan子记录器。

问题: foo.js工作完美,但bar.js在. 这似乎是由于相对路径被固定,而和驻留在相对于项目根目录的不同目录级别。MyService.logLogger.jsMyService.logfoo.jsbar.js

bunyan创建子记录器的更好方法是什么?

/src/lib/Logger.js

/src/foo/foo.js

/src/bar.js

0 投票
1 回答
99 浏览

typescript - 从具有所有类型信息的另一个模块中导出类型

我有一个包含一个导出的模块。这是创建bunyan记录器的工厂函数:

我想在其他应用程序中使用这个模块,并且我想包含 bunyanLogger实例的类型信息,以便我们对诸如logger.info,logger.warn等内容进行智能感知。

因此,我从 index.ts 文件中导出了工厂函数和 bunyan Logger:

但是,当我在另一个应用程序中导入它时,我可以看到我的 IDE 认为 logger 是类型any

类型是任何

这是因为 bunyan 不导出 Logger 类型吗?还是因为在我的应用程序中,我只安装了我的自定义包而不是 bunyan?我希望自定义包的用户不必同时安装我的包bunyan。

有没有办法解决这个问题,即拥有 bunyan 记录器的智能感知,而无需单独安装 bunyan?

0 投票
1 回答
544 浏览

javascript - @sentry/node 集成将 bunyan 日志调用包装为面包屑

默认情况下,Sentry 具有集成,console.log使其成为面包屑的一部分:

链接:导入名称:Sentry.Integrations.Console

我们如何使它也适用于bunyan logger,例如:

PS我已经尝试过bunyan-sentry-stream但没有成功@sentry/node,它只是推送条目而不是将它们视为面包屑。

0 投票
1 回答
783 浏览

javascript - 我将如何为使用标准输出的东西编写测试?

我正在尝试提高此文件的测试覆盖率

我目前有这个测试

这会在单元测试覆盖率方面产生这种差距在此处输入图像描述

我如何编写测试来覆盖此代码?

0 投票
1 回答
260 浏览

python - 如何在 python 中使用 bunyan 为 sysout 日志使用日志记录适配器

我正在尝试将请求号附加到每个请求的日志中:

使用 python 日志记录模块,我可以使用以下命令将 id 附加到每个日志:

使用 Bunyan 伐木

但在 bunyan 文档中,发现附加额外字典的唯一方法如下:

问题是 RequestNumber 必须附加在每个日志命令中。

有什么方法可以将 loggerAdapter 与 bunyan 一起使用?

0 投票
1 回答
62 浏览

python - 如何在日志中包含其他参数,例如 python-bunyan 中的函数名、行号、路径名

下面是__init__bunyan logger的功能。

filename,funcName并且lineno默认被跳过。有什么方法可以通过仍然使用 python-bunyan 来包含它们吗?

0 投票
1 回答
144 浏览

node.js - Nodejs 日志记录模块 - 生产环境

我目前正在开发 NodeJS 应用程序项目。

该应用程序基本上执行:

  1. 与数据库的交互(每分钟 1000 个请求/响应处理)

  2. 使用从数据库获取的信息的服务器端处理逻辑

  3. 客户端请求处理(每 5 分钟 100 个请求)

对于任何项目,日志信息都是识别任何故障/处理状态的关键。

我尝试了winston nodejs日志框架,但碰巧它不支持以下信息:

  1. 文件名

  2. 函数名称

  3. 行号

  4. 进程 ID

  5. 主机名等

因此我决定使用bunyan日志框架。我了解 Bunyan 框架支持这些东西。

请分享您的想法,这是否可以用于生产代码。

如果不可能,我担心许多 Web 应用程序中使用的其他 nodejs 项目如何获取这些信息。

我无法在 nodejs 中获得任何支持这些功能的生产就绪日志框架。我用谷歌搜索信息,搜索结果导致了winston/bunyan。

0 投票
0 回答
153 浏览

google-cloud-platform - 使用节点 bunyan 在 GCP 中格式化日志

我试图了解 GCP 中的格式并使用 Bunyan,但找不到任何好的解决方案。我在我的应用程序中创建了一个记录器。

我希望能够用错误代码、有效负载、堆栈和错误消息很好地记录错误。目前我使用这种格式:

但这并不能很好地在 GCP 记录器中格式化我的日志。任何有用的提示我怎样才能很好地格式化日志并使它们更具可读性。