Я недавно столкнулся с проблемой записи логов уровня INFO в отдельный файл при использовании Python logging. Оказалось, что это довольно просто сделать при помощи конфигурационного файла.Сначала я создал файл с названием ″logging.ini″ и указал в нем настройки для логгера. Вот как выглядел файл у меня⁚
ini
[loggers]
keysroot
[handlers]
keysinfo_handler
[formatters]
keysinfo_formatter
[logger_root]
levelDEBUG
handlersinfo_handler
[handler_info_handler]
classFileHandler
levelINFO
formatterinfo_formatter
args(‘info.log’, )
[formatter_info_formatter]
format%(asctime)s %(levelname)s %(message)s
В этом файле я указал один логгер с именем ″root″, один обработчик с именем ″info_handler″ и один форматтер с именем ″info_formatter″.
Логгеру ″root″ я задал уровень логирования ″DEBUG″ и указал обработчик ″info_handler″. Обработчику ″info_handler″ я задал уровень логирования ″INFO″, указал имя файла, в который нужно записывать логи, и связал его с форматтером ″info_formatter″.Форматтеру ″info_formatter″ я задал формат записи логов, в моем случае это дата и время записи лога, уровень логирования и само сообщение.После того, как я создал этот файл, я просто подключил его к своему коду в методе `basicConfig` модуля `logging`⁚
python
import logging
import logging.config
logging.config.fileConfig(‘logging.ini’)
logger logging.getLogger
После этого я мог использовать `logger` для записи логов уровня INFO, и они автоматически записывались в файл ″info.log″.python
logger.info(‘Это сообщение будет записано в файл ″info.log″’)
Теперь у меня был отдельный файл, где хранились только логи уровня INFO, что помогало мне найти и анализировать нужную информацию быстрее и эффективнее.
Я надеюсь, что мой опыт поможет вам настроить запись логов уровня INFO в отдельный файл при использовании Python logging. Это действительно удобно и позволяет более эффективно отслеживать и анализировать информацию, которая вам нужна.