Python3: добавление суффикса при использовании dictConfig - PullRequest
0 голосов
/ 02 января 2019

Я использую dictConfig, как в конце:

Проблема в том, что он создает файл mytask.log, а затем поворачивает его в соответствии с TimedRotatingFileHandler и создает устаревшие файлы.

Есть ли способ всегда добавлять суффикс в формате, который я хочу, но продолжаю использовать dictConfig?Например, я всегда хочу, чтобы мой файл был в формате mytask.log.20190101.

Например, что-то вроде этого:

handler = logging.handlers.TimedRotatingFileHandler(....)
handler.suffix = "%Y%m%d" 
root_logger.addHandler(handler)

Но продолжайте использовать dictConfig.

# ... in my main...
configure(log_level, log_file)

## defined elsewhere

def configure(level, file_):
    logging.config.dictConfig({
        'version': 1,
        'formatters': {
            'basic': {
                'format': '%(asctime)s %(levelname)s %(name)s %(filename)s:%(lineno)s %(message)s'  
            },
        },
        'handlers': {
            'console': {
                'level': 'ERROR',
                'formatter': 'basic',
                'class': 'logging.StreamHandler',
            },
            'file': {
                'level': 'INFO',
                'formatter': 'basic',
                'filename': file_,
                'utc': True,
                'when': 'midnight',
                'encoding': 'utf-8',
                'backupCount': 6,
                'class': 'logging.handlers.TimedRotatingFileHandler',
            },
        },
        'loggers': {
            '': {
                'handlers': ['console', 'file'],
                'level': level,
            },
        },
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...