"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Errsole을 사용하여 Node.js 애플리케이션용 사용자 정의 로거 생성

Errsole을 사용하여 Node.js 애플리케이션용 사용자 정의 로거 생성

2024-08-26에 게시됨
검색:685

모든 강력한 로깅 시스템은 수집기, 저장소 및 시각화 도구의 세 가지 주요 구성 요소로 구성됩니다. Winston 및 Pino와 같은 널리 사용되는 Node.js 로깅 모듈은 로그 수집기 역할만 합니다. 그러나 Errsole은 다음을 포함하는 완전한 로깅 솔루션을 제공합니다.

  1. 로그 저장: 파일이나 애플리케이션의 데이터베이스에 로그를 저장합니다.

  2. 내장 대시보드: 내장 대시보드를 사용하여 로그를 보고 필터링하고 검색합니다.

  3. 경고: 심각한 오류에 대해 실시간 알림을 받습니다.

Errsole 및 해당 종속성 설치

Errsole을 사용하려면 선택한 데이터베이스를 기반으로 하는 스토리지 모듈과 함께 Errsole 모듈을 설치해야 합니다. 다양한 저장 옵션에 대한 설치 단계는 다음과 같습니다.

파일 저장:

npm install errsole errsole-sqlite

몽고DB:

npm install errsole errsole-mongodb

MySQL:

npm install errsole errsole-mysql

포스트그레SQL:

npm install errsole errsole-postgres

사용자 정의 로거 파일 생성

실제 Node.js 프로젝트에는 여러 파일이 있습니다. 프로젝트의 모든 파일에서 Errsole Logger를 사용하려면 logger.js 파일을 생성하고 그 파일에서 Errsole을 초기화하세요:

const errsole = require('errsole');
const ErrsoleSQLite = require('errsole-sqlite');

errsole.initialize({
  storage: new ErrsoleSQLite('/tmp/logs.sqlite')
});

module.exports = errsole;

이제 프로젝트의 모든 파일에서 logger.js 파일을 가져와서 다음을 기록하는 데 사용할 수 있습니다.

const logger = require('./logger');

// Example usage
logger.info('This is an informational message.');
logger.error('This is an error message.');

Errsole의 로그 수준 이해

Errsole Logger 함수는 console.log와 동일한 인수를 사용합니다. 하나 이상의 문자열, 개체 또는 변수를 쉼표로 구분하여 제공할 수 있습니다. 또한 메타 기능을 사용하여 로그 메시지에 메타데이터를 첨부할 수 있습니다. 이 메타데이터는 HTTP 요청이나 데이터베이스 쿼리 결과와 같은 모든 상황별 정보일 수 있습니다.

logger.meta({ reqBody: req.body, queryResults: results }).error(err);
logger.meta({ email: req.body.email }).log('User logged in');

Errsole Logger는 경고, 오류, 경고, 정보 및 디버그의 5가지 로그 수준에 대한 기능을 제공합니다.

로그 / 정보: 메시지나 정보를 기록하는 데 사용됩니다.

logger.log('Logging a message');
logger.log('Multiple', 'arguments', 'are supported');
logger.log('Logging with a variable:', var1);
logger.log(new Error('An error occurred'));
logger.log('Logging with an error object:', errorObject);

alert: 메시지를 기록하고 이메일 또는 Slack과 같은 구성된 채널에 알림을 보냅니다.

logger.alert('Alert! Something critical happened');

오류: 오류를 기록하도록 특별히 설계되었습니다.

logger.error(new Error('An error occurred'));

warn: 경고 메시지를 기록합니다.

logger.warn('This is a warning message');

debug: 일반적으로 개발 중 문제 해결에 사용되는 디버그 정보를 기록합니다.

logger.debug('Debugging information');

코드에서 logger.alert를 사용해야 하는 경우

Node.js 애플리케이션이 충돌할 때마다 Errsole은 개발 팀에 실시간 알림을 보냅니다. 이 알림에는 오류 메시지, 앱 이름, 환경 이름, 서버 이름이 포함됩니다.

Creating a Custom Logger for a Node.js Application using Errsole

이 알림 목록에 심각한 오류를 추가하려면 코드에서 logger.alert를 사용하세요. 그러나 개발자에게 알림이 너무 많이 쏟아지는 것을 방지하려면 과도하게 사용하지 마십시오. 결제 실패나 데이터베이스 쿼리 실패와 같은 심각한 오류에 사용하세요. 오류 객체를 경고 함수에 넣고 모든 상황별 정보를 메타 함수에 추가합니다. 이를 통해 개발자는 중요한 오류를 쉽게 디버깅할 수 있습니다.

logger.meta({ reqBody: req.body, queryResults: results }).alert(err);

결론

Node.js 애플리케이션에 완전한 로깅 솔루션을 통합하면 강력한 로그 관리와 효율적인 디버깅이 보장됩니다. Errsole은 로그 저장소, 내장 대시보드, 실시간 알림을 제공하여 완벽한 로깅 도구입니다.

Errsole을 시작하려면 https://github.com/errsole/errsole.js를 방문하세요.

릴리스 선언문 이 기사는 https://dev.to/errsole/creating-a-custom-logger-for-a-nodejs-application-using-errsole-6bo?1에서 복제됩니다. 침해가 있는 경우에는 Study_golang@163으로 문의하시기 바랍니다. .com에서 삭제하세요
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3