#python #django #logging #error-logging #django-logging
Вопрос:
Я использую базовые функции ведения журнала django. Я настроил регистратор следующим образом. Что мне нужно , так это то, что я хочу каждые 24 часа создавать отдельный файл в каталоге журналов, чтобы все журналы были записаны в файлы журналов с учетом даты.
LOGGING ={
'version':1,
'disable_existing_loggers': False,
'formatters':{
'simpleRe': {
'format': '[{levelname}] [{asctime}] [{module}] {process:d} {thread:d} {message}',
'style': '{',
}
},
'handlers':{
'to_file':{
'level':'DEBUG',
'class': 'logging.FileHandler',
'filename':'./logs/debug.log',
'formatter':'simpleRe',
},
},
'loggers':{
'django':{
'handlers':['to_file'],
'level':'DEBUG'
}
},
}
Я также хочу, чтобы имена файлов были примерно такими, как «debug_26102021.log» и т. Д.
Ответ №1:
Вы можете использовать ведение журнала.обработчики.TimedRotatingFileHandler и укажите конфигурацию обработчика в журнале.
'handlers': {
'file': {
'level': 'INFO',
'class': 'logging.handlers.TimedRotatingFileHandler',
'filename': 'myproject.log',
'when': 'D', # specifies the interval
'interval': 1, # defaults to 1, only necessary for other values
'backupCount': 5, # how many backup file to keep, 5 days
'formatter': 'verbose',
},
},
Ответ №2:
Конфигурация ведения журнала Django основана на конфигурации словаря, предоставляемой модулем ведения журнала . Вы можете использовать любой из обработчиков, предоставляемых модулем ведения журнала. В этом случае это был бы обработчик файлов TimedRotatingFileHandler.
'handlers':{
'to_file':{
'level':'DEBUG',
'class': 'logging.handlers.TimedRotatingFileHandler',
'when': 'D',
'interval': 1,
'backupCount': 0,
'filename':'./logs/debug.log',
'formatter':'simpleRe',
},
},