Ведение журнала является неотъемлемой частью любого проекта разработки программного обеспечения. Это помогает отслеживать ошибки и понимать, что делает код. Однако ведение журнала может быстро стать утомительным и даже отвлекать из-за крошечных неудобств с выбранным инструментом ведения журнала. Это также тот случай, когда журналы, которые мы ищем, не выделяются среди множества других журналов, которые мы не всегда можем контролировать. Вы когда-нибудь добавляли «спам» из специальных символов до или после журнала, чтобы сделать его более заметным?

console.log(`### ITEM ###`, item);

Это один из случаев, когда появляется flat-log.

npm install flat-log
// Call just once in program's entrypoint to extend "console" object.
import 'flat-log';

console.flog({ item });

И разница на выходе (левая классическая, правая с плоским бревном):

flat-log не является заменой какой-либо полнофункциональной библиотеки ведения журналов в вашей среде. Это скорее расширение нативной «консоли», которое в той или иной форме можно даже добавить к стандартной консоли и сэкономить драгоценные секунды для миллионов разработчиков. Его вариант использования — журналы, которые добавляются в течение миллисекунд, не задумываясь, когда мы сосредоточены на более серьезной проблеме, и быстро удаляются после завершения процесса отладки. Не для тех, кто останется!

Когда вы можете захотеть его использовать

  • Если ваш фреймворк, библиотеки или кодовая база переполняют консоль большим количеством журналов, которые менее важны, чем ваши записи в журнале.
  • Если вы время от времени перегружаете консоль множеством журналов, чтобы узнать, что происходит, и вы перегружены.
  • Если вы заботитесь о драгоценных секундах и «циклах работы» вашего мозга.
  • При парном программировании вдвойне важно иметь четкую маркировку журналов, чтобы вы оба могли быстро сосредоточиться на одной и той же информации вместо того, чтобы показывать друг другу пальцем или объяснять друг другу, какой журнал интересен. console.flog может помочь уменьшить недопонимание и убедиться, что оба разработчика находятся на одной странице.

Почему эта до смерти простая библиотека на самом деле хорошо продумана?

  • Хотя я ненавижу аббревиатуры, console.flog — довольно красивое имя. Она легко набирается на клавиатуре и очень похожа на console.log, которая, вероятно, является одной из наиболее часто набираемых команд в сообществе JavaScript. Возможность печатать быстро и без опечаток важна, когда нам нужно сосредоточиться на построении мысленной модели того, что делает код, а не отвлекаться на размышления о том, как напечатать что-то на консоли.
  • flat-log решает пару проблем всего одним методом: он отмечает важные места в раздутых журналах с помощью тщательно подобранных цветов, чтобы они были хорошо видны как в темном, так и в светлом режиме DevTools и он выводит пару ключей и объектов, что избавляет от необходимости самостоятельно маркировать вещи. Вместо этого мы просто заключаем объект в скобки console.flog({ label }).
  • Он небольшой (‹40 строк кода), поставляется с одним методом и не допускает настройки, что делает его подходящим для быстрого копирования и вставки в кодовую базу, если вы не хотите устанавливать такой небольшая библиотека по какой-либо причине: https://github.com/radarsu/open-source-libraries/blob/main/packages/any/flat-log/src/main.ts

Краткое содержание

flat-log поскольку все в программном обеспечении не является универсальной библиотекой. Если у вас нет ни одной из перечисленных выше проблем, у вас уже есть полнофункциональная библиотека для логирования или вы никогда не используете нативную console даже во время сеансов быстрой отладки — это может быть не для вас.

В противном случае, если у вас действительно есть некоторые из упомянутых проблем, подумайте о том, чтобы сосредоточиться на построении ментальной модели того, что делает код, а не отвлекаться на плохой опыт ведения журнала и крошечные мозговые «циклы операций», потраченные впустую. в написании, поиске и маркировке журналов.

flat-log может быть и не большой выигрыш, но затраты на добавление также минимальны и, скорее всего, окупятся в долгосрочной перспективе.