我正在尝试将Morgan与Express.js结合使用以编写日志文件,同时也在控制台上显示我的日志。我正在使用此代码:
var logger = require('morgan');
var accessLogStream = fs.createWriteStream('./access.log', {flags: 'a'});
app.use(logger("dev",{stream: accessLogStream}));
但是通过这种方式,我只获得控制台日志,而我的access.log文件仍然为空。
如果我改为这样做(不指定“ dev”):
var logger = require('morgan');
var accessLogStream = fs.createWriteStream('./access.log', {flags: 'a'});
app.use(logger({stream: accessLogStream}));
我将日志记录在文件中,但未在控制台上。
如何同时获取控制台上的日志和文件上的日志?
先感谢您!
编辑:目前,我已经找到了这个解决方案:
app.use(logger({format:"[:date[clf]] :method :url :status :response-time ms",stream: {
write: function(str)
{
accessLogStream.write(str);
console.log(str);
}
}}));
但是,如果您有更好的一个,那就不客气了!
来自github
var logger = require('morgan');
app.use(logger('common', {
stream: fs.createWriteStream('./access.log', {flags: 'a'})
}));
app.use(logger('dev'));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句