2009-07-22 3 views
2

У меня есть процесс, который я запускаю каждый день. Он использует протоколы Python. Как настроить модуль регистрации python для записи в файл, содержащий текущую дату в имени файла?Включая текущую дату в файл регистрации python

Поскольку я перезапускаю процесс каждое утро, TimedRotatingFileHandler не будет работать. Проект больше, поэтому мне было бы интересно сохранить код, необходимый для входа в файл конфигурации ведения журнала.

ответ

8

Вы можете использовать TimedRotatingFileHandler. Например:

import logging 
import logging.handlers 

LOG_FILENAME = '/tmp/log' 

# Set up a specific logger with our desired output level 
log = logging.getLogger(__name__) 
log.setLevel(logging.DEBUG) 
handler = logging.handlers.TimedRotatingFileHandler(LOG_FILENAME, when='D') 
log.addHandler(handler) 

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

Смежные вопросы