我有一个带记录器的django项目。日志文件变得非常快。以下是记录器的设置:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
'datefmt' : "%d/%b/%Y %H:%M:%S"
},
'simple': {
'format': '%(levelname)s %(message)s'
},
"post_office": {
"format": "[%(levelname)s]%(asctime)s PID %(process)d: %(message)s",
"datefmt": "%d-%m-%Y %H:%M:%S",
},
},
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/opt/bitnami/djangocms_projects/bell_cms/Bell_cms.log',
'maxBytes': 1024*5, # 5 MB
'formatter': 'verbose'
},
"post_office": {
"level": "DEBUG",
"class": "logging.StreamHandler",
"formatter": "post_office"
},
},
'loggers': {
'django': {
'handlers':['file'],
'propagate': True,
'level':'DEBUG',
},
'scheduler_app': {
'handlers': ['file'],
'level': 'DEBUG',
},
"post_office": {
"handlers": ["post_office"],
"level": "INFO"
},
}
}
我有2个问题,首先文件没有与logging.handlers.RotatingFileHandler
分开。例如,现在它是330 MiB。其次,如果我在哪里擦除文件并让django重新创建它,我的apache服务器会崩溃说它没有对日志文件的权限。该文件具有root所有权。有没有办法让它在用户的所有权下创建文件(因此默认情况下可以读取apache)或者是否有办法自动为此文件授予某些权限。现在我的修复是删除,chmod 777该文件并重新启动apache。