我刚刚在我的 Node.js 应用程序中使用 Log4js 启用了日志记录。我使用了https://github.com/nomiddlename/log4js-node中的配置选项,它工作正常。
它将日志写入日志文件以及控制台。我不希望在控制台中打印它。 无法弄清楚如何配置它。非常抱歉问这个愚蠢的问题。
我刚刚在我的 Node.js 应用程序中使用 Log4js 启用了日志记录。我使用了https://github.com/nomiddlename/log4js-node中的配置选项,它工作正常。
它将日志写入日志文件以及控制台。我不希望在控制台中打印它。 无法弄清楚如何配置它。非常抱歉问这个愚蠢的问题。
log4js.clearAppenders()
在添加要使用的附加程序之前使用。
在 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());
如果有人偶然发现这个相当老的线程,请注意(同时?)还有可能通过配置禁用记录控制台。
在 github 上replaceConsole: true
配置 @see示例时只需设置
不知道它是否真的解决了您计划实现的目标,但可以肯定的是,这样做会使日志从控制台中消失
我在构建基于控制台的实用程序时也遇到了这个问题。我希望该实用程序将其输出写入控制台,但将日志保存在文件中。无论我如何尝试,我似乎都无法将两个输出缓冲区分开。
解决方案是在 log4js.configure 调用中向控制台附加程序添加一个类别,如下所示:
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');
这是我如何让它工作的:
问题是 appender 配置的默认类别是“[all]”。 将类别设置为“[默认]”,它仅适用于没有类别的“获取”记录器:log4js.getLogger()
{
appenders: [
{ type: 'console', category: '[default]' },
{ type: 'file', filename: 'logs/cheese.log', category: 'cheese' }
]
}
更多解释:
您可能拥有/拥有类似于示例 appender 配置的东西
{
appenders: [
{ type: 'console' },
{ type: 'file', filename: 'logs/cheese.log', category: 'cheese' }
]
}
然后你可以通过有或没有类别名称来获取记录器:
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