在Log4js中禁用控制台打印

use*_*745 8 logging node.js log4js-node

我刚刚在Node.js应用程序中使用Log4js启用了日志记录.我使用了https://github.com/nomiddlename/log4js-node中的配置选项,它运行正常.

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

小智 10

使用log4js.clearAppenders()添加你要使用的附加目的地之前.


abe*_*igo 1

在socket.io中,您可以设置自定义记录器。我尝试分配一个 log4js 记录器,但这导致了错误。我怀疑你(和我)必须编写一个包装器,它将日志记录调用传递给 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());
Run Code Online (Sandbox Code Playgroud)