2017-03-21 4 views
0

나는 이벤트를 로깅하는 winston logger를 logs/server.log으로 가지고 있는데, 파일을 회전 할 때 날짜 형식 때문에 server20170321114031.log을 생성하지만이 형식으로 파일을 회전하려는 경우 server.log.20170321114031이고 현재 로깅 파일 이름은 항상 server.log이어야합니다. winston을 사용하여 달성 할 수 있습니까? ?추가 방법 winston logger를 사용하여 끝에 날짜와 시간을 입력 하시겠습니까?

내가 직접 대답 할 수는 없지만

logger = new (winston.Logger)({ 
      level: null, 
      transports: [ 
//    new (winston.transports.Console)(), 
       new (winston.transports.File)({ 
        filename: './logs/server.log', 
        maxsize: 1024 * 1024 * 20,//15728640 is 15 MB 
        timestamp: false, 
        json: false, 
        rotationFormat: function() { 
         return getFormattedDate(); 
         function getFormattedDate() { 
          var temp = new Date(); 
          return dateStr = padStr(temp.getFullYear()) + 
          padStr(1 + temp.getMonth()) + 
          padStr(temp.getDate()) + 
          padStr(temp.getHours()) + 
          padStr(temp.getMinutes()) + 
          padStr(temp.getSeconds()); 
         } 
         function padStr(i) { 
          return (i < 10) ? "0" + i : "" + i; 
         } 
         }, 
        formatter: function (options) { 
         return options.message; 
        } 
       }) 
      ] 
     }); 
+0

를 참조 winston.js : // github.com/nomiddlename/log4js-node) – W4t3randWind

+1

이 줄을 그냥 지울 수 없습니까? 'timestamp : false, ' –

+0

나는 그것을 제거 할 수있다. 그러나 그것은 내가 질문 한 질문과 어떻게 관련되어 있는가? – hussain

답변

1

당신이 [log4js] (HTTPS를 사용하여 로그 라인의 형식을 수정할 수 https://github.com/winstonjs/winston/pull/205

logger.configure({ 
    category1: { 
    dailyRotateFile: { 
     colorize: 'true', 
     filename: 'dailyRotateFile.log', 
     datePattern: '.yyyy-MM-dd', 
     maxsize: 20000 
    } 
    } 
}); 
+0

dailyRotate 파일을 사용하지 않고 내 질문이있는 경우 내 접근 방식이 다릅니다. – hussain