日志记录在 Python 3 的 Flask 下不起作用

use*_*968 1 python tornado flask

我期望控制台打印调试语句,例如“服务器在端口上启动...”,但是当我运行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()
Run Code Online (Sandbox Code Playgroud)

3k-*_*3k- 6

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

logging.getLogger().setLevel(logging.DEBUG)
Run Code Online (Sandbox Code Playgroud)

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

import sys
import logging

root = logging.getLogger()
handler = logging.StreamHandler(sys.stdout))
root.addHandler(handler)
Run Code Online (Sandbox Code Playgroud)