KeiStory

nodejs 에서 seq 서버에 로그 남기는 방법 (winston)

 

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 으로 로그를 구분하여 확인할 수 있습니다.

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band