Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- 로스트아크 open API
- Dockerfile example
- dockerignore setting
- cloudflare Origin Server CA
- 코어 자바스크립트
- nodejs myslq2
- cloudflare
- docker
- XMLHttpRequest with promise
- 코어자바스크립트 정리
- cloudflare certbot
- docker compose example
- JavaScript
- XMLHttpRequest 예제
- docker image 배포
- XMLHttpRequest example
- docker image deploy
- cloudflare Origin Server
- cloudflare DNS
- nodejs mariaDB
- cloudflare ssl
- dockerignore example
- 로스트아크 API
- nodejs DB
- Dockerfile setting
- docker compose
- docker compose setting
- Raspberry Pi docker-compose install
- 코어자바스크립트
- Raspberry Pi docker install
Archives
- Today
- Total
오늘
nodejs - 로그 설정(winston) 본문
npm을 사용하여 winston 설치
npm install winston winston-daily-rotate-file
로그 설정 파일
logDir : 절대경로 or 상대경로 설정 가능
아래 설정에 콘솔로그를 제외하고 2개 로그파일이 정의되어 있음.
info 이상의 로그 : WorkingDir/logs 디렉토리에 저장
error 이상의 로그 : WorkingDir/logs/error 디렉토리에 저장
++ WorkingDir/logs 디렉토리에 저장되는 로그파일에도 물론 error 로그 포함됨.
const winston = require('winston');
const winstonDaily = require('winston-daily-rotate-file');
const { combine, timestamp, printf, colorize } = winston.format;
const logDir = 'logs';
const format = combine(
timestamp({format: 'YYYY-MM-DD HH:mm:ss'}),
printf(info => {
return `${info.timestamp} [${info.level}] ${info.message}`;
}),
);
const transports = [
new winston.transports.Console({
format: winston.format.combine(
winston.format.splat(),
winston.format.colorize(),)
}),
new winstonDaily({
level: 'info',
datePattern: 'YYYY-MM-DD',
zippedArchive: true,
filename: `%DATE%.log`,
dirname: logDir,
maxFiles: 30,
}),
new winstonDaily({
level: 'error',
datePattern: 'YYYY-MM-DD',
zippedArchive: true,
filename: `%DATE%.error.log`,
dirname: logDir + '/error',
maxFiles: 30,
}),
];
const logger = winston.createLogger({
format: format,
transports: transports
});
module.exports = logger
로그 실제 사용
<module name>.log('<log level>', '<log content>' );
const logger = require('../../utils/Logger');
const newsService = require('./service/newsService');
module.exports = {
sidebarEvent: async (req, res) => {
logger.log('info',`api-sidebarEvent`);
const jsonArray = await newsService.getEvents();
res.send(jsonArray);
},
.....
}

'nodejs' 카테고리의 다른 글
| nodejs express mysql2 사용 예제 (2) | 2023.03.14 |
|---|
Comments