logging-exc-info (G201)
派生自 flake8-logging-format linter。
作用
检查 logging.error 的使用,这些使用传递了 exc_info=True。
为什么这不好?
调用带有 exc_info=True 的 logging.error 等同于调用 logging.exception。使用 logging.exception 更简洁、更易读,并且更清晰地表达了日志语句的意图。
已知问题
此规则通过启发式方法检测 logging 模块的使用。具体来说,它匹配:
logging模块本身的使用(例如,import logging; logging.info(...))。flask.current_app.logger的使用(例如,from flask import current_app; current_app.logger.info(...))。- 名称以
log开头或以logger或logging结尾的对象,当在定义它们的同一文件中使用时(例如,logger = logging.getLogger(); logger.info(...))。 - 通过
lint.logger-objects设置标记为记录器的导入对象,可以用来针对共享记录器对象强制执行这些规则(例如,from module import logger; logger.info(...),当lint.logger-objects设置为["module.logger"]时)。
示例
建议改为