我正在运行这个flask应用程序来测试日志记录。它在我的本地系统上运行得很好,但是如果我在apache服务器上使用mod_wsgi运行它,它就不能工作了。没有错误,但是,没有食品日志已创建。在
我使用的是python3.5
代码如下:
from flask import Flask
import logging
from logging.handlers import RotatingFileHandler
app = Flask(__name__)
@app.route('/')
def foo():
app.logger.warning('A warning occurred (%d apples)', 42)
app.logger.error('An error occurred')
app.logger.info('Info')
return "foo"
if __name__ == '__main__':
handler = RotatingFileHandler('foo.log', maxBytes=10000, backupCount=1)
handler.setLevel(logging.INFO)
app.logger.addHandler(handler)
app.run(host='0.0.0.0')
wsgi文件如下所示:
^{pr2}$
我也遇到过同样的问题。我使用Apache的mod wsgi运行Django应用程序。在
首先,日志文件是'/tmp/调试日志,wsgi的日志文件中没有错误,只有“/tmp”文件/调试日志“未创建。在
然后,我将文件更改为'/var/log/httpd/调试日志'时,我发现了如下错误:
最后,我创建一个新目录,并将所有者更改为apache,如下所示:
^{pr2}$现在,logfile'/var/log/test/调试日志'已创建。在
当通过apache服务器运行时,脚本的pwd不一定与终端的pwd路径相同。在
或者:
foo.log
。在或者:
foo.log
,并找出apache决定将它放在哪里:)在使用Apache/mod\wsgi时,不要为Python
logging
模块使用单独的日志文件。而是配置logging
模块,将消息输出到终端的流处理程序(stdout/stderr)。这些消息将被收集到Apache错误日志中。使用Apache或系统机制来旋转日志文件。在相关问题 更多 >
编程相关推荐