2013-08-21 68 views
1

我無法獲取生產日誌記錄(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不是放置日誌文件的正確位置,但即使這樣也行不通。

任何想法或建議如何讓伐木工作也生產?

+0

Apache是​​否以root身份運行? –

+0

它以http身份運行。 – nikicc

回答

0

我遇到了同樣的錯誤。我發現如果我創建了一個新的文件夾和文件,用戶名和組名都是Apache。錯誤將被錯過。

相關問題