在Log4js中禁用控制台打印

我只在我的Node.js应用程序中使用Log4js启用日志logging。 我已经使用从https://github.com/nomiddlename/log4js-nodeconfiguration选项,它工作正常。

它将日志写入日志文件以及控制台中。 我不希望这个被打印在控制台中。 无法弄清楚如何configuration这个。 非常抱歉问这个愚蠢的问题。

使用log4js.clearAppenders()添加你想使用的appender。

在socket.io中,您可以设置自定义logging器。 我试图分配一个log4jslogging器,但是这导致了一个错误。 我怀疑你(和我)将不得不写一个包装,它将日志logging调用传递给log4js。

这是我写的代码:

 var LogWrapper = function() { this.logger = log4js.getLogger('socket.io'); }; LogWrapper.prototype.error = function() { this.logger.error.apply(this.logger, arguments); }; LogWrapper.prototype.warn = function() { this.logger.warn.apply(this.logger, arguments); }; LogWrapper.prototype.info = function() { this.logger.info.apply(this.logger, arguments); }; LogWrapper.prototype.debug = function() { this.logger.debug.apply(this.logger, arguments); }; io.set('logger', new LogWrapper()); 

我也有这个问题,以及build立一个基于控制台的实用工具。 我希望该实用程序将其输出写入控制台,但将日志保存在文件中。 无论我如何尝试,我似乎无法分开两个输出缓冲区。

解决方法是在log4js.configure调用中向控制台appender添加一个类别,如下所示:

 var log4js = require('log4js'); log4js.configure({ appenders: [ { type: 'console', category: 'thiswillgotoconsole' }, { type: 'file', filename: 'myLog.log', category: 'thiswillgotofile' } ] }); var logger = log4js.getLogger('thiswillgotofile'); logger.setLevel('debug'); logger.debug('thiswillgotofile'); console.log('thiswillgotoconsole'); 

如果有人遇到这个相当老的线程,请注意(同时?)也有可能通过configuration禁用login控制台。

在github上configuration@see 示例时,只需设置replaceConsole: true

不知道它是否真的解决了你计划实现的目标,但是肯定会使日志从控制台上消失

这是我如何得到这个工作:

问题是appenderconfiguration的默认类别是“[all]”。 将类别设置为“[默认]” ,仅适用于“获取”类别的logging器: log4js.getLogger()

 { appenders: [ { type: 'console', category: '[default]' }, { type: 'file', filename: 'logs/cheese.log', category: 'cheese' } ] } 

更多解释:

你可能有/看起来像例子appenderconfiguration的东西

 { appenders: [ { type: 'console' }, { type: 'file', filename: 'logs/cheese.log', category: 'cheese' } ] } 

然后你通过或不通过类别名称获得logging器:

 var logger = log4js.getLogger(); var cheeseLogger = log4js.getLogger('cheese'); logger.info(1) cheeseLogger(2) 

输出:

 [2016-10-25 15:43:06.225] [INFO] [default] - 1 [2016-10-25 15:43:06.225] [INFO] cheese - 2 

日志/ cheese.log:

 [2016-10-25 15:43:06.225] [INFO] cheese - 2