2015-10-16 136 views
2

我從debian上安裝了Ckan,使用apache在官方文檔下運行,並且所有的代碼都沒問題,但所有的ckan信息日誌都寫入了錯誤日誌文件。Ckan信息級別的日誌轉到錯誤日誌文件

這是我的虛擬主機:

<VirtualHost *:80> 
    ServerName ckan.mydomain.com 
    ServerAlias ckan.mydomain.com 
    WSGIScriptAlias//etc/ckan/default/apache.wsgi 

    # Pass authorization info on (needed for rest api). 
    WSGIPassAuthorization On 

    # Deploy as a daemon (avoids conflicts between CKAN instances). 
    WSGIDaemonProcess ckan_default display-name=ckan_default processes=2 threads=15 

    WSGIProcessGroup ckan_default 

    ErrorLog /var/log/apache2/ckan_default.error.log 
    CustomLog /var/log/apache2/ckan_default.custom.log combined 

    <IfModule mod_rpaf.c> 
     RPAFenable On 
     RPAFsethostname On 
     RPAFproxy_ips 127.0.0.1 
    </IfModule> 
</VirtualHost> 

這是我ckan_default.error.log的一行:

<[Thu Oct 15 10:47:48.797562 2015] [:error] [pid 14100] 2015-10-15 10:47:48,797 INFO [ckan.lib.base] /ckan-admin render time 0.085 seconds> 

爲什麼會出現 [:錯誤] ,爲什麼是這條線ckan_default.error.log?

謝謝。 亞歷

回答

1

CKAN的默認配置僅僅發送日誌標準錯誤,因爲可以在ckan/config/deployment.ini_tmpl可以看出:

[handler_console] 
class = StreamHandler 
args = (sys.stderr,) 
level = NOTSET 
formatter = generic 

Apache的標準錯誤保存到其錯誤日誌,因此爲什麼你看到它在ckan_default.error.log。

Apache的文件說,這是:

其中的Apache httpd的將發送診斷信息,並記錄任何 的錯誤,它遇到

所以我覺得這不是太瘋狂包括CKAN的INFO消息還有警告(非致命錯誤)和錯誤。

CKAN的默認建立的設計是最簡單的方式,這就是爲什麼在移除了文件處理此承諾:https://github.com/ckan/ckan/commit/6e1d325d61e

但是,當然,這是一個妥協,所有的建議都歡迎。