Я настраиваю регистратор python с 2 обработчиками файлов (1 для всех видов журналов и 1 только для журналов ошибок).
Оба обработчика файлов являются экземплярами TimeRotatingFileHandler с аргументом when ='midnight'
, и указывают на то, что файл находится в точке подключения NFS (код прилагается)
Я сталкиваюсь с некоторыми странными проблемами после регистрации в течение более 24 часов подряд:
- Журналы записываются иногда в файл резервной копии с именем
data.log.2020-08-23
(вчера), а иногда в журнал «сегодня» с именем data.log
. - фактический журнал от 2020-08-23 существует в файл с именем
.nfs000000....6c
(РЕДАКТИРОВАТЬ: я также использую регистратор из нескольких потоков)
Код, который я использую для создания регистратора:
import logging
from logging import TimeRotatingFileHandler
...
...
fh = TimeRotatingFileHandler('/opt/logs/data.log', when='midnight', backupCount=365)
formatter = logging.Formatter('%(asctime)s.%(msecs)03d %(name)s %(levelname)s; %(message)s %Y-%m-%d %H:%M:%S')
fh.setFormatter(formatter)
# Error logger
fh2 = TimeRotatingFileHandler('/opt/logs/error.log', when='midnight', backupCount=365)
fh2.setFormatter(formatter)
fh2.setLevel(logging.ERROR)
logger = logging.getLogger('data')
logger.addHandler(fh)
logger.addHandler(fh2)
logger.setLevel(logging.DEBUG)
return logger
Буду признателен за любую помощь! Спасибо!