Flask Logging - 调试设置

Gia*_*nis 4 python logging flask

我在Flask应用程序中使用以下配置:

class StagingConfig(Config):
    DEBUG = False
    MONGO_DB_NAME = "res_stage_database"

    @classmethod
    def init_app(cls, app):
        import logging
        from logging.handlers import RotatingFileHandler
        rotating_handler = RotatingFileHandler(filename='gunicorn.out', maxBytes=10000000, backupCount=5)
        rotating_handler.setLevel(logging.INFO)
        formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
        rotating_handler.setFormatter(formatter)
        app.logger.addHandler(rotating_handler)
        app.logger.info("Using StagingConfig")
        app.logger.error("Using StagingConfig")
Run Code Online (Sandbox Code Playgroud)

(上面,仅附加错误消息gunicorn.out- 2015-04-26 18:03:38,182 - 错误 - 使用StagingConfig)

由于此配置用于分阶段应用程序,我希望DEBUG为False,因此我不会在出现错误时获得Flask调试屏幕,而是标准错误500屏幕.虽然由于某种原因,当DEBUG设置为False时,除错误之外的错误消息的记录将停止.

一旦DEBUG设置为True,就会正确进行日志记录.这些值不应该是独立的,因为我在日志记录处理程序上设置了我的日志级别吗?

Gia*_*nis 5

结果我不得不使用 app.logger.setLevel(logging.INFO),而不是在处理程序上设置级别.