Установка максимального размера файла журнала в проекте Django - PullRequest
0 голосов
/ 09 мая 2018

У меня есть такая конфигурация в моем проекте:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'file': {
            'level': 'WARNING',
            'class': 'logging.FileHandler',
            'filename': os.path.join(BASE_DIR, 'debug.log'),
        },
    },
    'loggers': {
        'django': {
            'handlers': ['file'],
            'level': 'WARNING',
            'propagate': True,
        },
    },
}

Теперь его размер бесконтрольно растет. Есть ли способ управления размером файла debug.log? Каков наилучший способ работы с файлами журналов в проектах Django?
Я нашел аналогичный вопрос , но я не вызываю Python Logger напрямую.

1 Ответ

0 голосов
/ 04 июля 2018

То, что вы ищете, это Python RotatingFileHandler .

Используйте это в вашем 'handlers'

'file': {
    'level': 'WARNING',
    'class': 'logging.handlers.RotatingFileHandler',
    'filename': os.path.join(BASE_DIR, 'debug.log'),
    'backupCount': 10, # keep at most 10 log files
    'maxBytes': 5242880, # 5*1024*1024 bytes (5MB)
},

Когда я пытался, я получил PermissionError. Этот ответ объясняет, как с этим справиться. РЕДАКТИРОВАТЬ: Это происходит, когда вы используете сервер разработки django для его запуска. Не должно быть проблемой в других случаях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...