【问题标题】:logging is not working under Flask in Python 3日志在 Python 3 中的 Flask 下不起作用
【发布时间】:2017-05-08 15:49:36
【问题描述】:

我原以为控制台会打印调试语句,例如“服务器在端口上启动...”,但是当我为以下文件运行 python app.py 时,什么都没有打印出来。我已经将我的应用程序设置为调试模式。

import logging

from flask import Flask
from flask_env import MetaFlaskEnv
from flask_restful import Resource, Api
from flask_restful import reqparse
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from tornado.wsgi import WSGIContainer


class Configuration(metaclass=MetaFlaskEnv):
    """
    export PORT=80
    """
    DEBUG = True
    PORT = 5000

LOGGER = logging.getLogger(__name__)
LOGGER.setLevel(logging.DEBUG)

app = Flask(__name__)
app.config.from_object(Configuration)
api = Api(app)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    LOGGER.debug("server starting on port :" + str(app.config["PORT"]))
    HTTP_SERVER = HTTPServer(WSGIContainer(app))
    HTTP_SERVER.listen(port=app.config["PORT"])
    IOLoop.instance().start()

【问题讨论】:

    标签: python flask tornado


    【解决方案1】:

    尝试在根记录器上设置日志级别:

    logging.getLogger().setLevel(logging.DEBUG)
    

    或使用处理程序将输出显式重定向到标准输出:

    import sys
    import logging
    
    root = logging.getLogger()
    handler = logging.StreamHandler(sys.stdout))
    root.addHandler(handler)
    

    【讨论】:

      【解决方案2】:

      您可以:

      1. LOGGER 创建处理程序
      2. 调用logging.basicConfig()

      第一个选项非常简单

      handler = logging.StreamHandler() 
      LOGGER.addHandler(handler)
      

      第二个需要澄清一下

      logging.basicConfig()
      LOGGER = logging.getLogger(__name__)
      LOGGER.setLevel(logging.DEBUG)
      

      由于您没有提供处理程序,您的记录器将在父记录器中查找处理程序,依此类推... ...情况是 - 没有开箱即用的默认处理程序。您必须通过basicConfig 调用提供一些或设置默认值。注意,模块级便利函数(logging.infologging.debuglogging.error、...)已经进行了这样的初始化,如果没有处理程序,它们会在内部调用 basicConfig

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-11
        相关资源
        最近更新 更多