nodejs 에서 seq 서어베 로그를 남기는 방법입니다.
winston-seq 패키지를 설치합니다.
npm install winston winston-seq
js 파일에는 아래 처럼 사용합니다.
const { createLogger, format, transports } = require('winston');
const SeqTransport = require('winston-seq');
// Seq 서버 설정
const seqTransport = new SeqTransport({
serverUrl: 'http://your-seq-server', // Seq 서버 URL
onError: (e) => { console.error(e) },
handleExceptions: true
});
// Logger 설정
const logger = createLogger({
level: 'info',
format: format.combine(
format.timestamp(),
format.json(),
format.printf(info => {
// 로그 메시지에 appName을 추가
info.appName = 'MyAppName';
return JSON.stringify(info);
})
),
transports: [
seqTransport
]
});
// 예제 로그
logger.info('This is an informational message.');
logger.error('This is an error message.');
위 코드를 보면 알수 있듯이 구성된 seq 서버 url 로 SeqTransport 를 설정하고
logger 의 transports 로 설정해 주면 logger.info, logger.error 등을 이용해 로그를 남길 수 있습니다.
위 코드를 보면 추가로 appName 을 추가하였는데
Seq 서버에서 필터링 기능을 이용해 appName 으로 로그를 구분하여 확인할 수 있습니다.