我無法獲取生產日誌記錄(arch linux)。在本地機器上工作正常。這裏有日誌記錄設置:Django日誌記錄在生產中不起作用
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': 'LEVEL:%(levelname)s TIME:%(asctime)s MODULE:%(module)s LINE:%(lineno)d PROCESS:%(process)d THREAD:%(thread)d MESSAGE:%(message)s'
},
},
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
},
'logfile': {
'level':'DEBUG',
'class':'logging.FileHandler',
'filename': "logs/logfile314.txt",
'formatter': 'verbose',
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
'myLog': {
'handlers': ['logfile'],
'level': 'DEBUG',
},
}
}
當我部署此生產,我看到這個錯誤在Apache日誌:
ValueError: Unable to configure handler 'logfile': [Errno 13] Permission denied: '/srv/http/logs/logfile314.txt'
於是我就和/srv/http/logs
固定權限:
drwxrwxrwx 2 root root 4.0K Aug 21 16:05 logs
現在應用程序甚至沒有啓動,2-3分鐘後pag Ë裝載場所及Apache日誌有此錯誤:
Fatal Python error: PyEval_AcquireThread: NULL new thread state
[Wed Aug 21 16:05:58 2013] [notice] child pid 32559 exit signal Aborted (6)
[Wed Aug 21 16:11:03 2013] [error] [client 89.142.110.111] Premature end of script headers: wsgi.py
但還沒在很長一段時間改變wsgi.py。一切工作正常,如果我刪除我的日誌記錄設置,或者如果我給了哪個http用戶沒有權限的路徑。我試圖把日誌文件的絕對路徑,因爲/srv/http/logs
probaly不是放置日誌文件的正確位置,但即使這樣也行不通。
任何想法或建議如何讓伐木工作也生產?
Apache是否以root身份運行? –
它以http身份運行。 – nikicc