1 Star 0 Fork 1

赵梓宇 / nodebestpractices

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
usematurelogger.russian.md 3.50 KB
一键复制 编辑 原始数据 按行查看 历史
Alex Ivanov 提交于 2019-11-29 08:20 . Reflecion of #589

Используйте проверенный логгер, чтобы увеличить видимость ошибок

Объяснение в один абзац

Мы все любим console.log, но, очевидно, авторитетный и постоянный регистратор, такой как Winston (очень популярный) или Pino (новый парень на районе, который ориентирован на производительность) является обязательным для серьезных проектов. Набор методов и инструментов поможет гораздо быстрее рассуждать об ошибках - (1) часто регистрировать с использованием разных уровней (отладка, информация, ошибка); (2) при ведении журнала, предоставлять контекстную информацию в виде объектов JSON, см. пример ниже; (3) просматривать и фильтровать журналы, используя API запросов журналов (встроенный в большинство регистраторов) или программу просмотра журналов; (4) разворачивать и составлять отчет для рабочей группы, используя инструменты предоставления оперативной информации, такие как Splunk.

Пример кода - Winston Logger в действии

// your centralized logger object
const logger = new winston.Logger({
  level: 'info',
  transports: [
    new (winston.transports.Console)()
  ]
});

// custom code somewhere using the logger
logger.log('info', 'Test Log Message with some parameter %s', 'some parameter', { anything: 'This is metadata' });

Пример кода - Запрос к папке журнала (поиск записей)

const options = {
  from: Date.now() - 24 * 60 * 60 * 1000,
  until: new Date()
  limit: 10,
  start: 0,
  order: 'desc',
  fields: ['message']
};

// Find items logged between today and yesterday.
winston.query(options, (err, results) => {
  // execute callback with results
});

Цитата блога: "Требования к логгеру"

Из блога Strong Loop

Давайте определим несколько требований (для регистратора):

  1. Отметка времени каждой строки журнала. Это довольно очевидно - вы должны быть в состоянии сказать, когда произошла каждая запись в журнале.
  2. Формат записей должен быть легко усваиваемым людьми, а также машинами.
  3. Возможность для нескольких настраиваемых потоков назначения. Например, вы можете записывать журналы трассировки в один файл, но при возникновении ошибки запишите в тот же файл, затем в файл ошибок и отправьте электронное письмо одновременно …
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhao-ziyu/nodebestpractices.git
git@gitee.com:zhao-ziyu/nodebestpractices.git
zhao-ziyu
nodebestpractices
nodebestpractices
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891