Log4js:日志依赖 NODE_ENV
Log4js: logs depend on NODE_ENV
如何使日志(INFO、ERROR)依赖于集合NODE_ENV?
我的意思是,例如,如果NODE_ENV=development,我只写错误日志。对于 NODE_ENV=production,必须只有 INFO。
我应该如何修改 appender 来执行此操作?
感谢您的帮助。
如果不想打印,请选中 process.env.NODE_ENV
并覆盖 console.log
。
console.log = function(){}
对于 Log4js,您似乎只需要根据环境变量在记录器上设置级别,例如
var logger = log4js.getLogger('myLogger');
if (process.env.NODE_ENV === 'production') {
logger.setLevel('ERROR');
} else {
logger.setLevel('INFO');
}
请注意,我切换了您的日志级别,因为大多数日志记录的工作方式是您希望提高严重级别,其中 ERROR 比 INFO 更严重。在生产环境中,您只想记录最严重的错误。在开发中,您希望看到严重错误以及仅供参考的日志。
我找到了更合适的 (对我来说) 这个问题的解决方案。
以这种方式在级别中配置类别:
...
"levels": {
"[all]": "INFO",
"console": (env == "production" ? "ERROR" :"INFO")
},
...
在赶到 Whosebug 之前我需要考虑一下 :)
如何使日志(INFO、ERROR)依赖于集合NODE_ENV?
我的意思是,例如,如果NODE_ENV=development,我只写错误日志。对于 NODE_ENV=production,必须只有 INFO。
我应该如何修改 appender 来执行此操作?
感谢您的帮助。
如果不想打印,请选中 process.env.NODE_ENV
并覆盖 console.log
。
console.log = function(){}
对于 Log4js,您似乎只需要根据环境变量在记录器上设置级别,例如
var logger = log4js.getLogger('myLogger');
if (process.env.NODE_ENV === 'production') {
logger.setLevel('ERROR');
} else {
logger.setLevel('INFO');
}
请注意,我切换了您的日志级别,因为大多数日志记录的工作方式是您希望提高严重级别,其中 ERROR 比 INFO 更严重。在生产环境中,您只想记录最严重的错误。在开发中,您希望看到严重错误以及仅供参考的日志。
我找到了更合适的 (对我来说) 这个问题的解决方案。 以这种方式在级别中配置类别:
...
"levels": {
"[all]": "INFO",
"console": (env == "production" ? "ERROR" :"INFO")
},
...
在赶到 Whosebug 之前我需要考虑一下 :)