我在代码中使用了很多断言,并且我想记录所有的断言错误。搜寻了问题之后,我没有找到方便的解决方案。
所以我想到的是我向logging.Logger类添加了一个方法。
import logging
def assertion(self, bool_condition, message):
try:
assert bool_condition, message
except AssertionError:
self.exception(message)
raise
logging.Logger.assertion = assertion
""" apply log config """
log = logging.getLogger(__name__)
log.assertion(1 == 2, 'Assertion failed.')
似乎可以完成这项工作,但我想知道这样做是否是个好习惯。