我的项目中有这个配置:
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。
答案 0 :(得分:3)
您正在寻找的是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
。 This answer解释了如何处理。编辑:当您使用django的开发服务器运行它时,会发生这种情况。在其他情况下应该不会有问题。