3

如何根据设置的 NODE_ENV 创建日志(INFO、ERROR)?

我的意思是,例如,如果 NODE_ENV=development,我只写 ERROR 日志。使用 NODE_ENV=production,必须只有 INFO。

我应该如何修改附加程序来执行此操作?

谢谢你的帮助。

4

3 回答 3

2

使用 Log4js,您似乎只需要根据环境变量设置记录器的级别,例如

var logger = log4js.getLogger('myLogger');
if (process.env.NODE_ENV === 'production') {
  logger.setLevel('ERROR');
} else {
  logger.setLevel('INFO');
}

请注意,我切换了您的日志级别,因为您希望增加严重级别,其中 ERROR 比 INFO 更严重。在生产中,您只想记录最严重的错误。在开发中,您希望查看严重错误以及仅供参考的日志。

于 2015-10-20T11:13:06.267 回答
2

我找到了更合适(对我来说)这个问题的解决方案。只需通过这种方式配置级别中的类别:

...
      "levels": {
        "[all]": "INFO",
        "console": (env == "production" ? "ERROR" :"INFO")
      },
...

在急于使用 stackoverflow 之前,我需要考虑一下 :)

于 2015-10-20T20:55:49.317 回答
0

如果您不想打印,请检查process.env.NODE_ENV并覆盖。console.log

console.log = function(){}
于 2015-10-20T10:12:13.297 回答