我刚在Node.js应用程序中使用Log4js启用了日志记录。 我使用了https://github.com/nomiddlename/log4js-node中的配置选项,它运行正常。
它将日志写入日志文件以及控制台中。 我不希望在控制台中打印它。 无法弄清楚如何配置它。 非常抱歉地问这个愚蠢的问题。
答案 0 :(得分:10)
在添加要使用的追加者之前使用log4js.clearAppenders()
。
答案 1 :(得分:1)
在socket.io中,您可以设置custom logger.我尝试分配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());
答案 2 :(得分:0)
我有这个问题以及构建基于控制台的实用程序。我希望该实用程序将其输出写入控制台,但将日志保存在文件中。无论我如何尝试,我似乎无法将两个输出缓冲区分开。
解决方案是在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');
答案 3 :(得分:0)
如果有人偶然发现这个相当旧的帖子,请注意(同时?)还可以通过配置禁用日志记录。
简单地设定
replaceConsole: true
配置时
@see Example on github
不知道它是否真的解决了你计划实现的目标,但肯定会通过这样做使日志从控制台中消失
答案 4 :(得分:0)
以下是我如何使用它:
问题是appender配置的默认类别是'[all]'。 将类别设置为“[默认]”,它仅适用于没有类别的“已获取”的记录器:log4js.getLogger()
{
appenders: [
{ type: 'console', category: '[default]' },
{ type: 'file', filename: 'logs/cheese.log', category: 'cheese' }
]
}
更多解释
你可能有/看起来像示例appender config
{
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