Log4js:日志取决于NODE_ENV

时间:2015-10-20 10:05:52

标签: javascript node.js log4javascript log4js-node

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

我的意思是,例如,如果NODE_ENV =开发,我只写ERROR日志。使用NODE_ENV =生产时,必须只有INFO。

我应该如何修改appender来执行此操作?

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

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

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

在急于stackoverflow之前我需要先思考一下:)

答案 1 :(得分:1)

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

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

请注意,我已将您的日志级别切换为大多数日志记录的工作方式,您希望增加级别的严重性,而ERROR比INFO更严重。在生产中,您只需要记录最严重的错误。在开发过程中,您希望查看严重错误以及仅供参考的日志。

答案 2 :(得分:0)

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

console.log = function(){}