摩根记录器不写入文件

问题描述:

我想在我的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')); 
} 

当我开始在开发模式下,一切工作正常的应用程序,但在生产模式访问日志文件被创建,但是没有日志消息被发送到文件中。

同样的问题,刚刚解决。 只因为阅读我是旧的使用。 试试这个:

app.use({format:'default', stream: accessLogStream});