Каждая надежная система журналирования состоит из трех ключевых компонентов: коллектора, хранилища и визуализатора. Популярные модули журналирования Node.js, такие как Winston и Pino, функционируют исключительно как сборщики журналов. Однако Errsole предлагает комплексное решение для ведения журналов, которое включает в себя:
Хранилище журналов: Сохраняйте журналы в файл или базу данных вашего приложения.
Встроенная информационная панель: Просмотр, фильтрация и поиск журналов с помощью встроенной информационной панели.
Оповещения: Получайте уведомления в режиме реального времени о критических ошибках.
Чтобы использовать Errsole, вам необходимо установить модуль Errsole вместе с модулем хранения на основе выбранной вами базы данных. Ниже приведены шаги установки для различных вариантов хранилища:
npm install errsole errsole-sqlite
npm install errsole errsole-mongodb
npm install errsole errsole-mysql
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 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');
Всякий раз, когда ваше приложение Node.js выходит из строя, Errsole отправляет уведомление в режиме реального времени вашей команде разработчиков. Это уведомление включает сообщение об ошибке, имя приложения, имя среды и имя сервера.
Чтобы добавить критические ошибки в этот список уведомлений, используйте logger.alert в своем коде. Однако не злоупотребляйте им, чтобы не загружать разработчиков уведомлениями. Используйте его для критических ошибок, таких как сбои платежей или сбои запросов к базе данных. Поместите объект ошибки в функцию оповещения и добавьте всю контекстную информацию в метафункцию. Это позволяет разработчикам легко отлаживать критические ошибки.
logger.meta({ reqBody: req.body, queryResults: results }).alert(err);
Включение комплексного решения для ведения журналов в ваше приложение Node.js обеспечивает надежное управление журналами и эффективную отладку. Errsole предоставляет хранилище журналов, встроенную панель мониторинга и уведомления в реальном времени, что делает его полноценным инструментом ведения журналов.
Чтобы начать работу с Errsole, посетите https://github.com/errsole/errsole.js.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3