Pull to refresh

Comments 13

По-моему, самое вкусное в этой библиотеке, что она покрывает множество нужд, в том числе благодаря logging.handlers можно писать в файл с ротацией (автоматическое разбиение на тома), разбиением на подкаталоги, отправлять лог по сети, по почте, писать в системный лог и т. п.
UFO just landed and posted this here
Да не спорю настройки сложные но если один раз разобраться и написать для себя модуль где уже заданны все настройки то потом можно легко и просто использовать в любом проекте.
сначала argparse, теперь logging — какой стандартный модуль в скромном переводе без сравнений с аналогами, жизненными примерами, подводными камнями и прочими интересными вещами, будет следующим? перевели бы всю документацию на русский язык тогда уж.

P.S. касательно logging — чем лучше/хуже logbook? как обстоят дела с многопоточностью, в том числе и многопроцессорной среде(via multiprocessing)? есть ли параллели с log4j? как можно шарить конфиги между разными логгерами? как писать свои хендлы и форматтеры?
Да не спорю статья маленькая и в ней раскрыт не весь потенциал логера, но но хабре сидят не только проффи но и новички которым легче разобраться в кратком обзоре чем в статье где полно профессиональных примеров, и еще так же много людей которые только начинаю учить язык программирования и при этом знание английского нету поэтому документацию прочитать сложно к тому же техническую, не спорю можно было бы написать статью где идет сравнения разных логеров, пример всех возможностей но тогда возникает вопрос новичок открыв такую статью поймет ли он как работать именно с этой библиотекой?!
А потом — море вопросов «я делаю по статье XXX, у меня не работает, скажите почему». А в статье тупо опечатка или версия древняя, и всего-то надо посмотреть в код или доку.
ух ты! спасибо за ссылку.
Подскажите, а чем концептуально отличается:

import logging
logging.warning(u'This is a warning')

от

import warnings
warnings.warn(u'This is a warning', DeprecationWarning)

?

Что-то никак понять не могу. Спасибо.
модуль warning генерирует исключения типа Warning*, тогда как logging.warn просто отправляет сообщение c уровнем события logging.WARN или 30 — аналогично можно записать logging.log(logging.WARN, 'warner brothers').
Ну, если генерирует исключение, тогда в чем отличие от:
raise DeprecationWarning(u'This is a warning')
?
по факту — ни в чем. в деталях, если загнянуть в модуль warnings и в его документацию, то можно найти фильтры варнингов, какие будут вызываться, а какие «глушиться», куда сообщения будут направляться (можно отправлять через logging.warning), а так же форматирование сообщений и прочие плюшки, недоступные обычным исключениям.
Sign up to leave a comment.

Articles