【发布时间】:2023-03-16 00:05:01
【问题描述】:
目前我们使用的 Winston 配置是硬编码在一个 Javscript 模块中,尽管能够在运行时修改这个配置会很有用。例如,这将允许我们更改日志文件的路径、格式或日志级别,而无需修改代码。
我来自 Java 世界中诸如 log4j 之类的记录器的思想学派,您可以在 XML 文件或属性文件 (see here) 中指定您需要的内容,而不是通过编程方式。在 NodeJS 世界中,这将在 JSON 文件中。
我确实找到了“winston-config”包,但不幸的是它与 Winston 3 不兼容。
有没有人有办法可以做到这一点?我在文档中没有看到任何值得注意的内容,我宁愿避免为此制定我们自己的逻辑。
【问题讨论】:
-
如果需要也检查一下:npmjs.com/package/morgan 另外,您可以在进程中设置日志记录级别并在运行时设置,但是当您必须更改日志记录级别时,您必须重新启动应用程序.
-
这个答案有日志级别的设置 - stackoverflow.com/a/22934566/957026 强烈推荐它放入我上面提到的过程中。
-
@LearningEveryday 这只是为我提供了一个替代记录器,实际上并没有提供从文件调整日志配置的解决方案。
-
当您说文件时,像这样的 .json 文件可能会起作用:medium.com/@felipedutratine/… 另外,为什么不使用来自进程的值,例如
process.env.loggingLevel? -
它不仅仅是日志级别。它试图避免以编程方式执行此操作。现在澄清了问题。
标签: node.js logging configuration winston