python - Flask WSGI 在 Apache2 上的日志级别错误

标签 python apache logging flask wsgi

这是我的 apache error.log 的示例:

[Fri Oct 16 18:28:24.816206 2015] [:info] [pid 13739:tid 139772762691456] mod_wsgi (pid=13739): Attach interpreter ''.
[Fri Oct 16 18:28:41.608894 2015] [:info] [pid 13739:tid 139772651718400] [remote 10.1.10.37:56161] mod_wsgi (pid=13739, process='dsapp', application=''): Loading WSGI script '/var/www/blackbird/blackbird.wsgi'.
[Fri Oct 16 18:28:42.176915 2015] [:info] [pid 13740:tid 139772651718400] [remote 10.1.10.154:49761] mod_wsgi (pid=13740, process='app2', application=''): Loading WSGI script '/var/www/whiteboard_v2/whiteboard.wsgi'.
[Fri Oct 16 18:28:45.863991 2015] [:error] [pid 13740:tid 139772467078912] INFO:app.api.routes:API/search: ImmutableMultiDict([('m', 'n'), ('q', '')])

注意最后一个日志条目 [:error]。

我想以适当的级别登录 apache2。我希望最后一个条目显示为 [:info] 而不是 [:error]。

我的 Flask-WSGI 配置如下:

from flask import redirect, url_for, jsonify, request, send_file, current_app
from . import api
from flask.ext.cors import cross_origin
from ..models import Inventory
from app import db
import logging

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

@api.route('/api/search', methods=['GET'])
@cross_origin()
def index():
    d=request.args['q']
    m=request.args['m']
    logger.info('API/search: %s', request.args)

你可以清楚地看到我的意图是“信息”。如何配置 Apache 以适当的级别进行日志记录,以便我的 Flask logger.info 读取 [:info] 而不是 [:error]?

最佳答案

Python 日志记录级别与 Apache 日志记录级别无关。显然,Apache 将 mod_wsgi 正在运行的应用程序的输出视为错误级别。让你的网络服务器记录与网络服务器相关的事情。配置 Python 将您的应用日志发送到其他文件。

logging.basicConfig(filename='/path/to/app.log', level=logging.INFO)

关于python - Flask WSGI 在 Apache2 上的日志级别错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33177361/

相关文章:

python - matplotlib 中的 set_xlim、set_ylim、set_zlim 命令无法裁剪显示的数据

apache - .htaccess rewritecond 和规则无法找出末尾的额外斜杠

java - 无法在 linux 中的 tomcat 上运行 solr(404 未找到/solr)

Python 日志查看器 GUI

tomcat - 如何更改tomcat中的bootlog.txt?

java - 使用 log4j 创建带有日期的日志文件

python - 抓取时如何限制结果的数量

python - 如何检查变量是整数还是字符串?

Python - 硬件处理,如何有效地将硬件寄存器实现为对象中的属性

php - 使用调制解调器的外部 XAMPP 访问