У меня есть сайт, основанный на django, и я использую стандартный модуль регистрации для отслеживания веб-активности.
Журнал выполняется через RotatingFileHandler, который настроен на 10 файлов журнала, по 1000000 байт каждый. Система журнала работает, но это файлы журнала, которые я получаю:
-rw-r--r-- 1 apache apache 83 Jul 23 13:30 hr.log
-rw-r--r-- 1 apache apache 446276 Jul 23 13:03 hr.log.1
-rw-r--r-- 1 apache apache 999910 Jul 23 06:00 hr.log.10
-rw-r--r-- 1 apache apache 415 Jul 23 16:24 hr.log.2
-rw-r--r-- 1 apache apache 479636 Jul 23 16:03 hr.log.3
-rw-r--r-- 1 apache apache 710 Jul 23 15:30 hr.log.4
-rw-r--r-- 1 apache apache 892179 Jul 23 15:03 hr.log.5
-rw-r--r-- 1 apache apache 166 Jul 23 14:30 hr.log.6
-rw-r--r-- 1 apache apache 890769 Jul 23 14:03 hr.log.7
-rw-r--r-- 1 apache apache 999977 Jul 23 12:30 hr.log.8
-rw-r--r-- 1 apache apache 999961 Jul 23 08:01 hr.log.9
Как вы видите, это беспорядок. Последний журнал был записан в файл hr.log.2 (июль 23 16:24) вместо hr.log и протоколирование документации утверждает, что:
[...] Например, с backupCount из 5 и базовым именем файла app.log вы получите app.log, app.log.1, app.log.2, вплоть до app.log 0,5. Файл, на который записывается, всегда является app.log. Когда этот файл заполнен, он закрывается и переименовывается в app.log.1, и если существуют файлы app.log.1, app.log.2 и т.д., Они переименовываются в app.log.2, app. log.3 и т.д. соответственно.
Что я делаю неправильно?
Мой файл конфигурации ведения журнала:
logger.conf:
[loggers]
keys=root
[handlers]
keys=fileHandler
[formatters]
keys=simple
#--------------------------------------------------------------------
# Formatters
[formatter_simple]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
#--------------------------------------------------------------------
# Handlers
[handler_fileHandler]
class=handlers.RotatingFileHandler
level=DEBUG
formatter=simple
args=("/data/django/hr/hr.log",'a',1000000,10)
#--------------------------------------------------------------------
# Loggers
[logger_root]
level=DEBUG
handlers=fileHandler
и мой модуль python для настройки системы регистрации:
logger.py
import os, logging
# Load config file
logger_config_file = \
os.path.join(os.path.abspath(os.path.dirname(__file__)), 'logger.conf')
logging.config.fileConfig(logger_config_file)
# Create logger
logger = logging.getLogger('hr_Logger')
# Log start message
logger.info("Logging system started")
то в верхней части моих views.py у меня есть:
import logging
from hr import logger
log = logging.getLogger('hr.views')
log.info('Load hr.views')
[...]