Pull to refresh

Comments 9

И снова хочу порекламировать (не мою) удобную библиотеку для логирования loguru.

Всё ещё не понимаю, почему её форсят некоторые люди:

  • у нее достаточно сложная минимальная настройка из-за необходимости интеграции с logging

  • у нее не очень высокая гибкость (коллеги жаловались на сложности кастомизации хэндлеров)

  • у нее ужасно многословные трейсы по дефолту

logger.info(f'{x}__{y}') выражения выполняются сразу, а logger.info('%s__%s', x, y) в момент форматирования лога. И если у тебя много debug логов, то выражение "f" не будет дороже?
successful лог в `try: except` лучше логировать в секции else.
Зачем `except ZeroDivisionError as err:` если err не используется

Чем лучше любопытно? Дело вкуса, мне кажется

везде где вижу "удобное" форматирование log message исправляю на "шаблон отдельно, значения отдельно".

Изначально, мотивация была именно такая - зачем каждый раз перед вызовом делать то, что с какой-то вероятностью не потребуется. Но сейчас кто смотрит на эти копейки эффективности.

В какой-то момент, эта мотивация дополнилась тем, что протоколирование - это не всегда "строки текста". Сколько лет уже продвигается ELK и прочие технологии сбора/анализа/итд? Форматирование в человекочитаемую строку может быть вообще не потребуется, или это сделают где-то там, в каком-нибудь ELK, причем не только для debug, но вообще для всего.
Причем, сегодня про "такой поворот" может быть даже никто и не думает, а через год, вместо того, что бы в условно одном месте заменить log writer, будут устраивать ревизию всему коду.

Кажется тема не раскрыта.
Тут просто перечислено базовое api модуля logging.


Есть же ещё кастомные форматеры, хэндлеры, фильтры и патенты логгеров. Отдельная тема, то что происходит с сообщением и в каком формате от вызова функции logger.info() до момента его получения адресату


exception/stack trace доступен из самого logging, не нужны сторонние тулы.


Добавьте какие-то специфичные кейсы, например, как в каждое сообщение добавить имя хоста или функции, из которой логгер вызывается

Ну плиз, что вы хотите от перевода индийской статьи в корпоративном блоге?

Статей про логирование через библиотеку logging - сотни, в том числе и на хабре была точно не одна.. Если бы какие-то новые фичи появились - то я могу понять, но переписывать одно и то же - ну ок, напомнит кому-то из молодежи, наверное.

но переписывать одно и то же

подумали авторы статьи и переписали дефолтный начальный туториал по модулю logging

Давайте на забывать, что есть специалисты, которые ранее кодили на других языках и с питоном мало знакомы. Кто то только изучает питон в связи с новыми потребностями. И для таких людей статья очень даже интересная. Спасибо.

Sign up to leave a comment.