Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging Flask,WSGI:将日志参数传递给Apache_Logging_Apache2_Flask_Mod Wsgi_Wsgi - Fatal编程技术网

Logging Flask,WSGI:将日志参数传递给Apache

Logging Flask,WSGI:将日志参数传递给Apache,logging,apache2,flask,mod-wsgi,wsgi,Logging,Apache2,Flask,Mod Wsgi,Wsgi,我有一个使用mod WSGI在Apache上运行的Flask应用程序。我正在尝试使用应用程序的记录器记录来自应用程序的简单消息: app.logger.name="users server" app.logger.setLevel(logging.DEBUG) app.logger.debug("my log message") Apache日志中的结果是: [Thu Feb 20 12:54:42.853231 2014] [:error] [pid 19461:tid 1403996419

我有一个使用mod WSGI在Apache上运行的Flask应用程序。我正在尝试使用应用程序的记录器记录来自应用程序的简单消息:

app.logger.name="users server"
app.logger.setLevel(logging.DEBUG)
app.logger.debug("my log message")
Apache日志中的结果是:

[Thu Feb 20 12:54:42.853231 2014] [:error] [pid 19461:tid 140399641954048] DEBUG:users server:my log message
在从Flask通过WSGI到Apache的路径上,日志元数据丢失了。Apache显示的是
[:error]
而不是
DEBUG
,名称是
[pid 19461:tid 140399641954048]
而不是
用户服务器
。日志数据在日志行末尾显示为未解析文本


如何设置WSGI,Apache和Flask解析来自Flask应用程序的日志?

没有日志模块日志级别到Apache级别的映射,因为它会导致各种微妙的问题,这会让您摸不着头脑,不明白为什么您无法从Python获取日志消息,因为Apache日志级别覆盖了所有内容和内容抑制输出

您当前得到的是因为日志模块只是记录到stderr,它在mod_wsgi下被记录在Apache错误日志的“error”下,Apache在每一行上都粘贴了自己的日志消息前缀


您仍然可以使用输出格式设置程序来控制您在邮件中看到的内容,但不能替换每行的前缀Apache places。

+1谢谢。奇怪的是,Apache甚至连模块名都不知道,而是使用PIDs和TID。我将尝试在
VirtualHost
配置中改变这一点。mod_wsgi模块尚未更新以支持新的httpd2.4 API,用于将Apache模块名称声明为日志记录的一部分。好的,可能wsgi模块的另一个日志文件会起作用。我将配置Apache以省略其打印输出。