Javascript winston完全自定义文件输出
编辑:找到了答案,并为未来的读者发布了完整的答案Javascript winston完全自定义文件输出,javascript,node.js,logging,winston,Javascript,Node.js,Logging,Winston,编辑:找到了答案,并为未来的读者发布了完整的答案 我已经掌握了in Node.js的基本知识,并希望进一步定制我的日志记录。以下是我到目前为止的情况: var winston=require('winston'); 移除(winston.transports.Console); add(winston.transports.Console,{'colorize':true}); 添加(winston.transports.File, { 'filename':'testlog.log', “
我已经掌握了in Node.js的基本知识,并希望进一步定制我的日志记录。以下是我到目前为止的情况:
var winston=require('winston');
移除(winston.transports.Console);
add(winston.transports.Console,{'colorize':true});
添加(winston.transports.File,
{
'filename':'testlog.log',
“时间戳”:函数(){return Date.now();},
}
);
//假设我只想记录“信息”或“错误”
函数loginfo(arg){return winston.info(arg);}
函数logerror(arg){return winston.error(arg);}
[回答我自己的问题]
Winston有一个定制的格式化程序选项,它简单而高效,在最底层提供了一个示例
在我的示例中,不检查每个参数是否存在的最小代码是:
var log=new(winston.Logger)({
运输:[
新建(winston.transports.File)({
名称:“信息正常”,
文件名:'./log_info.log',
级别:“信息”,
时间戳:函数(){return Date.now();}
}),
新建(winston.transports.File)({
名称:'info_custom',
文件名:'./log\u info\u custom.log',
级别:“信息”,
时间戳:函数(){return Date.now();},
格式化程序:函数(选项){
//返回的字符串将传递给记录器
返回options.timestamp()++'+options.level++
options.message+''+JSON.stringify(options.meta);
},
json:false//别忘了!!!!!!!!!!!
})
]
});代码>[回答我自己的问题]
Winston有一个定制的格式化程序选项,它简单而高效,在最底层提供了一个示例
在我的示例中,不检查每个参数是否存在的最小代码是:
var log=new(winston.Logger)({
运输:[
新建(winston.transports.File)({
名称:“信息正常”,
文件名:'./log_info.log',
级别:“信息”,
时间戳:函数(){return Date.now();}
}),
新建(winston.transports.File)({
名称:'info_custom',
文件名:'./log\u info\u custom.log',
级别:“信息”,
时间戳:函数(){return Date.now();},
格式化程序:函数(选项){
//返回的字符串将传递给记录器
返回options.timestamp()++'+options.level++
options.message+''+JSON.stringify(options.meta);
},
json:false//别忘了!!!!!!!!!!!
})
]
});代码>