我正在尝试使用morgan在我的express nodejs应用程序中设置一个生产日志记录环境。
我尝试使用这个文档https://github.com/expressjs/morgan#write-logs-to-a-file来做这件事
我的日志记录代码如下所示:
var express = require('express');
var path = require('path');
var logger = require('morgan');
var FileStreamRotator = require('file-stream-rotator');
var fs = require('fs');
var app = express();
// logging
if (app.get('env') !== 'development') {
var logDirectory = path.join('/srv/iss', 'log');
// ensure log directory exists
fs.existsSync(logDirectory) || fs.mkdirSync(logDirectory);
var accessLogStream = FileStreamRotator.getStream({
date_format: 'YYYYMMDD',
filename: path.join(logDirectory, 'access-%DATE%.log'),
frequency: 'daily',
verbose: false
});
// setup the logger
app.use(logger('combined', {stream: accessLogStream}))
}
else {
app.use(logger('dev'));
}当我在开发模式下启动应用程序时,一切正常,但是在生产模式下会创建访问日志文件,但不会将日志消息发送到文件中。
发布于 2017-05-04 23:48:07
同样的问题,刚刚解决了。只是因为自述文件太老而不能使用。试试这个:
app.use({format:'default', stream: accessLogStream});https://stackoverflow.com/questions/40022343
复制相似问题