我正在寻找以下问题的建议/模式
在我的脚本中我遇到的情况是我只想记录2条消息中的1条,具体取决于记录器级别,所以在我的脚本中我有这些行中的内容
logger.info('AA') # Less detailed message
logger.debug('AABB') # More detailed message
当记录器级别设置为DEBUG时,将记录这两个消息。我之所以不希望这样,是因为DEBUG消息是INFO级别的副本,但有更多细节。
我考虑的选项
1 - 检查记录器级别
if logger.getEffectiveLevel() == logging.INFO:
logger.info('AA') # Less Detailed Message
elif logger.getEffectiveLevel() == logging.DEBUG:
logger.debug('AABB') # More Detailed Message
检查关卡是不正确的,因为这基本上是日志模块代表我的脚本应该做的工作
2 - 使DEBUG消息仅记录INFO消息未记录的额外细节级别。这种方法的问题在于这是一个多线程脚本,并且不能保证DEBUG消息会在脚本中的INFO消息之后立即显示,因为另一个线程的消息可能介于两者之间,因此非常很难在日志中找到这两条消息以便能够获得完整的调试消息
logger.info('AA')
logger.debug('BB')
任何人都有任何好的想法/建议吗?
TIA