2016-09-08 5 views
1

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

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

Любые идеи и примеры кода? Thanks

+0

Возникла ли авария из-за аварии? – unutbu

+0

@unutbu: Я не уверен, я думаю, что не – JavaSa

ответ

1

Если вы используете logging.FileHandler и выберите существующий файл журнала, по умолчанию он будет добавлен к этому файлу. Метод, который фактически записывает запись журнала, - это метод emit() для обработчиков регистрации. Если вы посмотрите на исходный код для FileHandler, то flush за каждый напишите, поэтому он должен делать то, что вы хотите по умолчанию.

import logging 

log = logging.getLogger() 
handler = logging.FileHandler('/path/to/log.txt') 
log.addHandler(handler) 

log.warning('This is a message') 
+0

Есть ли у нас такой обработчик с вращением журнала? – JavaSa

+0

@JavaSa 'logging.handlers.RotatingFileHandler' –