«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Создание пользовательского регистратора для приложения Node.js с использованием Errsole

Создание пользовательского регистратора для приложения Node.js с использованием Errsole

Опубликовано 26 августа 2024 г.
Просматривать:262

Каждая надежная система журналирования состоит из трех ключевых компонентов: коллектора, хранилища и визуализатора. Популярные модули журналирования Node.js, такие как Winston и Pino, функционируют исключительно как сборщики журналов. Однако Errsole предлагает комплексное решение для ведения журналов, которое включает в себя:

  1. Хранилище журналов: Сохраняйте журналы в файл или базу данных вашего приложения.

  2. Встроенная информационная панель: Просмотр, фильтрация и поиск журналов с помощью встроенной информационной панели.

  3. Оповещения: Получайте уведомления в режиме реального времени о критических ошибках.

Установка Errsole и его зависимостей

Чтобы использовать Errsole, вам необходимо установить модуль Errsole вместе с модулем хранения на основе выбранной вами базы данных. Ниже приведены шаги установки для различных вариантов хранилища:

Хранение файлов:

npm install errsole errsole-sqlite

МонгоБД:

npm install errsole errsole-mongodb

MySQL:

npm install errsole errsole-mysql

PostgreSQL:

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');

Error Logger предоставляет функции для пяти уровней журнала: предупреждение, ошибка, предупреждение, информация и отладка.

log / info: Используйте для регистрации сообщений или информации.

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