-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
ch-04-05 강의 winston log 에러
20.02.08 16:19 작성 조회수 231
1
아래와 같이 코드를 작성하였는데 log 디렉토리까지만 생성되고 안에 로그 파일이 남겨지지 가 않습니다. 계속해서 디렉토리가 없다고 에러만 뜨네요 왜 그런지 한번 봐주실수 있나요...?
npm 은 모두 설치 하였습니다
var winston = require(`winston`);
var winstonDaily = require(`winston-daily-rotate-file`);
var moment = require(`moment`);
function timeStampFormat() {
return moment().format(`YYYY-MM-DD HH:mm:ss.SSS ZZ`);
}
var logger = new (winston.Logger)({
transports: [
new (winstonDaily)({
name:'info-file',
filename:'./log/server',
datePattern:'_yyyy-MM-dd.log',
colorize:false,
maxsize:50000000,
maxFiles:1000,
level:'info',
showLevel:true,
json:false,
timestamp:timeStampFormat
}),
new (winston.transports.Console)({
name:'debug-console',
colorize:'true',
level:'debug',
showLevel:'true',
json:false,
timestamp:timeStampFormat
})
]
});
logger.debug(`디버그 메시지 입니다`);
logger.error(`에러 메시지 입니다`);
답변을 작성해보세요.
3
이태선
2020.06.21
winston이나 winston-daily-rotate-file모두 리뉴얼이 많이 되어서 사용법이 바뀐 것 같습니다. 해당 강의는 작성된지 몇년 되었구요. 따라서 npm으로 사용하는 몇몇 모듈의 경우, 제대로 동작하지 않는 경우, 해당 모듈을 구글에 검색해서 사용법에 대해 읽어보시는 편이 좋을 것 같습니다. 현재 기준으로는 아래와 같이 사용하시면 될것 같습니다.
let logger = winston.createLogger({
// level: 'info',
// format: /* winston.format.json(), */ false,
// defaultMeta: { service: 'user-service' },
transports: [
// log file에 저장할 deg message 설정 세팅
new (winstonDaily)({ // file에 뿌려주는거
name: 'info-file',
filename: './log/server_%DATE%.log',
datePattern: 'yyyy-MM-DD',
colorize: false,
maxSize: 50000000,
maxFiles: 1000,
level: 'info',
showLevel: true,
json: false,
timeStampFormat, timeStampFormat,
}),
// console창에 보여줄 deg message 설정 세팅
new (winston.transports.Console)({ //console에 뿌려주는거
name: 'debug-console',
colorize: true,
level: 'debug',
showLevel: true,
json: false,
timeStampFormat: timeStampFormat
})
]
});
답변 1