Автор оригинала: FreeCodeCamp Community Member.
Стефанос Вардалос
Существует часть разработки программного обеспечения, что не все разработчики принимают очень серьезно. Эта часть является правильной регистрацией, и каждый, кто потерял бесчисленные часы во время отладки, точно знает, что я имею в виду.
Полезные журналы могут предоставить разработчику (особенно когда кто-то должен отладки/поддерживать чужой код) с огромной помощью при попытке понять, что на самом деле делает код. Некоторые разработчики говорят, что след стека – это все, что кто-то должен когда-либо понадобиться, но это не может быть дальше от правды. Следы стека великолепны и могут сказать вам, где и что пошло не так, но они не могут сказать вам, как у вас там есть в первую очередь. Конечно, вы можете следить за исполнением через точки разрыва, но, вслед за слепым, сделает весь процесс намного больше времени, чем на самом деле, и может быть.
Это Диагностика Часть ведения журнала, самый важный и в основном тот, который разработчики могут понять проще, так как это больше частью их ежедневной рабочей рутины. Есть другая часть, которая называется Аудит Ведение журнала. Там, где диагностический журнал заботится о записи событий, которые происходят во время выполнения (вызовы метода, вход/выходы, вызовы HTTP, выполнение SQL), журнал аудита отвечает за запись более абстрактных, бизнес-логических событий. Такие события могут быть действиями пользователя (добавление/редактирование/удаление контента, транзакции, данные доступа) или других вещей, которые имеют либо значение управления, либо, что более важное, юридическое значение.
В мире в конце концов, были некоторые большие рамки лесозаготов для выбора, поскольку потребность в тех, кто возникла намного раньше. Например, в Java вы можете взять на себя выбор между собственным лесозаготовителем Java, Java.util.logging или некоторыми великими внешними каркасами, такими как rocouback или самый популярный log4j. В мире переднего мира все еще не получилось так далеко, но есть варианты, которые могут помочь вам сделать дополнительную милю (и, конечно, избавиться от сообщений Trivial Console.log). Два таких библиотеки JavaScript для переднего конца – минимальные, но мощные логики и браузер-буньян, порт потрясающего модуля ведения журнала Node.js для браузера. Некоторые функции распространены между этими рамками, но есть уникальные, которые должны руководить разработчиком, чтобы выбрать, какой из них ему нужен. Использование тех, которые могут быть показаны с некоторыми примерами.
Как оригинал Буньян Манифест идет, журналы должны быть структурированы и легко проиндексированы, фильтрованы, искали. Эта удивительная структура производит журналы в формате JSON, который затем может быть легко потреблен другими услугами для дальнейшей обработки.
Помимо возможностей экспорта JSON, Буньян Имеет концепцию детских бревенгеров, которые могут быть использованы для создания разных регистраторов для разных компонентов приложения. Это дает большую гибкость относительно того, какие поля и дополнительная информация вы хотите включить в определенные части только вашего приложения. Bunyan также включает потоки, которые являются «выходными» настройками его регистраторов. Вы можете создавать несколько потоков и назначить одну руду больше для каждого регистратора, и каждый поток может иметь разные настройки, такие как минимальный уровень журналов для записи (приемлемые уровни Bunyan – это фаталь/ошибка/Warn/Info/debug/Trace) или метод вывода ( В браузере есть только параметры, связанные с консолью, но в среде узла вы можете сделать другие вещи, такие как журналы записи в определенный файл).
С довольно скромным утверждением, loglevel Представляет собой минимальную структуру ведения журнала, которая добавляет только минимум, который необходим большинство приложений. Он добавляет некоторую правильную регистрацию на основе уровня (след/отладочную/информацию/предупреждение/ошибку) и фильтрацию относительно того, каким является минимальный уровень, который будет отображаться на консоли.
Мощность этой рамки – это его простота, так как она умерла легко включить его в ваш проект и начать использовать его, заменяя Console.log () навсегда. Кроме того, Loglevel имеет еще один скрытый драгоценный камень, его расширяемость, так как для него есть различные плагины, которые предоставляют дополнительные функции для тех, кто хочет их, как префикс сообщений Отказ
В зависимости от того, что Framework вы выберете в конце вашего приложения JavaScript, вы сэкономите наверняка много часов работы во время отладки и сделаете ваше заявление на будущее.