Ich habe eine Django 1.4.2 Anwendungsprotokollierung auf eine rotierende Dateien gehen. In meinem settings.py ich habe:Django Protokoll rotierende und Protokolldatei Besitz
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
},
},
'handlers': {
'default': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': '/var/www/html/logs/mylog.log',
'maxBytes': 1024*1024*5, # 5 MB
'backupCount': 5,
'formatter':'standard',
},
'request_handler': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': '/var/www/html/logs/django_request.log',
'maxBytes': 1024*1024*5, # 5 MB
'backupCount': 5,
'formatter':'standard',
},
},
'loggers': {
'': {
'handlers': ['default'],
'level': 'ERROR',
'propagate': True
},
'django.request': { # Stop SQL debug from logging to main logger
'handlers': ['request_handler'],
'level': 'DEBUG',
'propagate': False
},
}
}
So in dem Logging-Verzeichnis sehe ich die Dateien:
mc.log
mc.log.1
mc.log.2
mc.log.3
mc.log.4
mc.log.5
Wenn mc.log 5M erreicht die Dateien korrekt gedreht werden, aber Das neue mc.log wird mit dem Eigentümer root.root erstellt. Da Apache unter Apache-Benutzer ausgeführt wird, kann nicht mehr auf die Dateien zugegriffen werden und die Anwendung funktioniert nicht mehr. Irgendeine Idee, warum das neue Protokoll mit root.root-Besitz anstelle von apache.apache erstellt wird?
Dank
Ich sehe dieses Verhalten auch. Hast du es jemals herausgefunden? – fluffels