如何管理Apache中的mod_wsgi日志?

2024-10-01 09:41:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发flask应用程序,我已经使用mod\wsgi和Apache来托管flask应用程序。我已经在appit中设置了日志记录,但是我发现在apache/logs中也有相同的日志被写入/错误.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

因此错误.log被污染了wsgi:错误和apache错误使得分析日志文件变得越来越困难。在

他们有办法停止写作吗wsgi.错误在错误.log或者我们可以将这些特定的日志重定向到单独的日志文件吗?在


Tags: 文件logmod应用程序flaskwsgiapache错误
2条回答

首先,应该在虚拟主机中添加ErrorLog,然后使用flask.logging.default_handler来记录消息。在

注意,如果您的请求应用程序不存在于threadLocal环境中,flask将使用斯特里尔标准要记录消息,这将是由于消息被主日志缓存而不是虚拟主机日志。在

我通常会在虚拟主机中添加一个错误日志。下面是我使用的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>

这样行吗?当然,您可以选择主目录以外的路径。在

相关问题 更多 >