我使用apache在debian上安装了Ckan跟随官方文档,所有它都可以,但所有ckan信息日志都被写入错误日志文件。
这是我的虚拟主机:
//onclick creating textboxes
$scope.expndtxt=function(){
$scope.textboxes.push("");
};
//view
<li ng-repeat="textbox in textboxes track by $index">
Label For Inputfield:
<input type="text" id="in_{{$index}}" data-ng-model="$parent.textboxes[$index]"/><button class="btn btn-sm btn-default" ng-click="deletetxtbox($index)">-</button>
</li>
这是我的ckan_default.error.log:
的一行<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中?
感谢。 亚历
答案 0 :(得分:1)
CKAN的默认配置只是将日志发送到stderr,如ckan/config/deployment.ini_tmpl中所示:
[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic
Apache将stderr保存到其ErrorLog,因此你可以在ckan_default.error.log中看到它。
Apache的文档说这是:
Apache httpd将发送诊断信息并记录任何信息 它遇到的错误
所以我认为在其中包含CKAN的INFO消息以及警告(非致命错误)和ERRORs并不是太疯狂。
CKAN的默认设置是最简单的设置方式,这就是在此提交中删除文件处理程序的原因:https://github.com/ckan/ckan/commit/6e1d325d61e
但当然这是妥协,欢迎所有建议。