2016-10-13 2 views
0

모건을 사용하여 명시 적 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')); 
} 

나는 모든 것이 잘 작동 개발 모드에서 응용 프로그램을 시작하지만, 생산 모드에서 액세스 로그 파일은 작성되지만 로그 메시지는 파일로 전송되지 않습니다.

답변

0

동일한 문제와 방금 해결되었습니다. 읽기만하면 오래 사용할 수 있기 때문입니다. 시험해보기 :

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