2016-11-15 5 views
0

아래와 같이 빈 줄이 출력됩니다. 여기에 모간과 윈스톤을 사용하여 파일에 로그인했습니다. 빈 줄을 피하는 방법은 무엇입니까?morgan logger에서 로그 파일에 생성되는 빈 줄을 제거하는 방법은 무엇입니까?

//logger 
const logger = new winston.Logger({ 
    transports: [ 
     new winston.transports.File({ 
      filename: './logs/dca_ui.log', 
      handleExceptions: true, 
      json: false, 
      maxsize: MAX_SIZE_LOG, 
      maxFiles: MAX_LOG_FILES, 
      colorize: false, 
     }), 
    ], 
    exitOnError: false, 
}); 

//writestream 
const stream = { 
    write: (message, encoding) => { 
     logger.info(message); 
    }, 
}; 

app.use((morgan(':date :status :method :url :response-time', { stream: stream }))); 

출력 :

5 2016-11-15T04 : 21 : 18.981Z은 - 정보 : 2016년 (화) 11월 15일는 그리니치 표준시 04시 21분 18초 200 GET은 4.539
6 /index.js
7 2016-11-15T04 : 21 : 19.786Z - 정보 : 화요일, 2015 년 11 월 15 일 04:21:19 GMT 200 GET/urest/v1/template? start = 0 & count = 20 & sort = templateName : asc 106.379
9 2016-11-15T04 : 21 : 22.835Z - 정보 : 화요일, 2011 년 11 월 15 일 04:21 ? : - 스트림의 마지막에 새로운 라인 (22) GMT (200) GET/urest/V1/템플릿/7b4ca205-7b75-459c-81f1-a61fc8b6be69보기 = 응축 122.692

답변

1

모건은 \ n을 추가합니다. 당신이 로그인하면 당신은 그것을 볼 수 있습니다 : https://github.com/expressjs/morgan/issues/70

: 그것에 대해 토론

여기
//writestream 
const stream = { 
    write: (message, encoding) => { 
     logger.info(message.substring(0,message.lastIndexOf('\n'))); 
    }, 
}; 

입니다 : 그래서 logger.info(JSON.stringify(message));

그것을 제거 할 수는 다음과 같이해야합니다