logging-redundant-exc-info (G202)
派生自 flake8-logging-format linter。
作用
检查日志语句中冗余的 exc_info
关键字参数。
为什么这不好?
对于 logging.exception
,exc_info
默认为 True
;对于 logging.error
,exc_info
默认为 False
。
向 logging.exception
调用传递 exc_info=True
是冗余的,向 logging.error
调用传递 exc_info=False
也是冗余的。
已知问题
此规则通过启发式方法检测 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
设置标记为记录器的导入对象,该设置可用于针对共享记录器对象强制执行这些规则(例如,当lint.logger-objects
设置为["module.logger"]
时,from module import logger; logger.info(...)
)。
示例
建议改为