>웹 프론트엔드 >JS 튜토리얼 >Errsole을 사용하여 Node.js 애플리케이션용 사용자 정의 로거 생성

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

WBOY
WBOY원래의
2024-08-24 11:11:33612검색

모든 강력한 로깅 시스템은 수집기, 저장소, 시각화 장치라는 세 가지 주요 구성 요소로 구성됩니다. 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'));

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

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

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

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를 방문하세요.

위 내용은 Errsole을 사용하여 Node.js 애플리케이션용 사용자 정의 로거 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.