【问题标题】:Setting a Log file max size in Django project在 Django 项目中设置日志文件最大大小
【发布时间】:2018-10-19 21:51:45
【问题描述】:

我的项目中有这样的配置:

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 项目中操作日志文件的最佳方式是什么?
我找到了similar question,但我没有直接调用python logger。

【问题讨论】:

    标签: python django logging


    【解决方案1】:

    您要查找的是 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)
    },
    

    当我尝试时,我得到了PermissionErrorThis answer 解释了如何处理它。编辑:当您使用 django 的开发服务器运行它时会发生这种情况。在其他情况下应该不是问题。

    【讨论】:

    • 我正在我的项目中尝试这个解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    • 2016-12-28
    相关资源
    最近更新 更多