Flask 0.10 的默认调试日志格式是
debug_log_format =
'-------------------------------------------------------------------------\n%
%(levelname)s in %(module)s [%(pathname)s:%(lineno)d]:\n%(message)s
\n-------------------------------------------------------------------------'
Run Code Online (Sandbox Code Playgroud)
如何将其更改为:
'-------------------------------------------------------------------------\n%
work_id %(levelname)s in %(module)s [%(pathname)s:%(lineno)d]:\n%(message)s
\n-------------------------------------------------------------------------'
Run Code Online (Sandbox Code Playgroud)
其中work_id是每个请求的随机生成的UUID.
如果记录器是由我自己创建的,我可以使用a logging.LoggerAdapter并提供额外信息作为dict {'work_id': some_uuid},然后我可以使用在日志记录中访问它record.work_id.
但是这app.logger是由create_logger()Flasklogging.py创建的,我是否必须修改Flask源来实现我想要的?
我也想过app.logger用我自己的记录器覆盖,就像app.logger = my_logger,它似乎不对.