gpt4 book ai didi

python - 如何在 python Flask-tornado 应用程序中管理多个记录器

转载 作者:太空宇宙 更新时间:2023-11-03 14:43:03 24 4
gpt4 key购买 nike

我正在使用 Flask Web 框架构建一个带有 Web 界面的 Python 应用程序。它在调试/开发模式下在 Flask 内部服务器上运行,在生产模式下它作为 wsgi 容器在tornado 上运行。这就是我设置记录器的方式:

log_formatter = logging.Formatter('%(asctime)s [%(levelname)s] %(message)s')

file_handler = logging.handlers.RotatingFileHandler(LOG_FILE, maxBytes=5 * 1024 * 1024, backupCount=10)
file_handler.setFormatter(log_formatter)

console_handler = logging.StreamHandler(sys.stdout)
console_handler.setFormatter(log_formatter)

log = logging.getLogger('myAppLogger')
log.addHandler(file_handler)
log.addHandler(console_handler)

要将我的记录器添加到 Flask 应用程序,我尝试了以下操作:

app = Flask('system.web.server')
app.logger_name = 'myAppLogger'

但是日志仍然会转到 Flask 默认日志处理程序,此外,我没有找到如何为 Tornado Web 服务器自定义日志处理程序。任何帮助深表感谢,提前致谢

最佳答案

据我所知,您无法更改 Flask 中的默认记录器。但是,您可以将处理程序添加到默认记录器:

app = Flask('system.web.server')
app.logger.addHandler(file_handler)
app.logger.addHandler(console_handler)
<小时/>

关于我上面的评论 - “为什么你想在 Tornado 中运行 Flask ...”,请忽略它。如果您没有看到任何性能影响,那么显然没有必要更改您的设置。

但是,如果将来您想迁移到多线程容器,则可以查看 uwsgigunicorn

关于python - 如何在 python Flask-tornado 应用程序中管理多个记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46453726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com