如何在apache中管理mod_wsgi日志?

问题描述 投票:0回答:2

我正在研究烧瓶应用程序,我使用mod_wsgi和Apache来托管烧瓶应用程序。我已经在应用程序中设置了日志记录,但我发现有相同的日志正在写入apache / logs / error.log之类的

[wsgi:error] ... BACK TO THE BROWSER
[wsgi:error] ... Selected records from table 
[wsgi:error] ... mod_wsgi (pid=1654): Exception occurred processing WSGI script '/tmp/mod_wsgi-localhost:8000:0/htdocs/'.
[wsgi:error] ... ID 1123 Inserted in table

由于这个错误。日志被wsgi:错误和apache错误污染,因此很难分析日志文件。

他们是否有办法停止在error.log文件中编写wsgi.errors,或者我们是否可以将这些特定日志重定向到单独的日志文件?

python flask mod-wsgi apache2.4
2个回答
0
投票

我通常会向我的VirtualHost添加一个ErrorLog。这是我使用的Apache VirtualHost示例:

<VirtualHost *:443>

  ServerName yourservername.com
  ErrorLog /home/yourusername/apache_errors.log

  WSGIDaemonProcess yourproject-https python-home=/home/yourusername/.virtualenvs/yourproject
  WSGIScriptAlias /yourproject /var/www/html/yourproject/yourproject/wsgi.py process-group=yourproject-https application-group=yourproject-https
  WSGIProcessGroup yourproject-https
  Alias /yourproject/static/ /var/www/html/yourproject/static/

  SSLENGINE on 

  SSLCertificateFile /etc/pki/tls/certs/localhost.crt
  SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
  SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
  SSLProtocol all -SSLv2
</VirtualHost>

那会诀窍吗?当然,您可以选择主目录以外的路径。


0
投票

首先,您应该在VirtualHost中添加ErrorLog,然后您应该使用flask.logging.default_handler来记录您的消息。

请注意,如果您的threadLocal环境中不存在您的请求应用程序,那么将使用std.strerr来记录消息,这将由于主日志而不是VirtualHost日志缓存消息。

© www.soinside.com 2019 - 2024. All rights reserved.