2015-10-20 33 views
2

如何使日志(INFO,ERROR)依赖于设置的NODE_ENV?Log4js:日志取决于NODE_ENV

我的意思是,例如,如果NODE_ENV = development,我只写ERROR日志。 NODE_ENV =生产时,只能有INFO。

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

感谢您的帮助。

回答

1

我已经找到了更合适(我)这个问题的解决。 只需配置水平类别是这样的:

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

我需要抢着计算器:)

0

检查process.env.NODE_ENV,并覆盖console.log,如果你不希望它打印。

console.log = function(){} 
+0

这将是一个做事的重手的方式三思一点,充其量只允许两个级别的日志记录(因为可以使用log4js来完成错误日志记录),或者如果只使用console.log,它将在不允许级别的情况下打开或关闭。 – piemonkey

1

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

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

注意,我调换了你的日志级别日志记录如何工作最希望你用错误比信息更严重的严重程度的增加水平。在生产中,只需要记录最严重的错误。在开发过程中,您希望看到严重错误以及仅供参考的日志。

+0

感谢您的帮助。我找到了另一个解决方案。 – alyona