gpt4 book ai didi

python - "canonical"使用 Python 断言日志记录的方法

转载 作者:太空狗 更新时间:2023-10-30 00:10:05 24 4
gpt4 key购买 nike

在以下代码中,assert 在单元测试之外使用:

import logging

if __name__ == "__main__":
logging.basicConfig(format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=logging.INFO)
logger = logging.getLogger(__name__)
logger.info("info level")
assert 1 == 0

打印如下:

2016-02-16 14:56:58,445 - __main__ - INFO - info level
Traceback (most recent call last):
File "logtest.py", line 7, in <module>
assert 1 == 0
AssertionError

对于 assert 引发的 AssertionError 使用带时间戳的日志记录格式的“规范”方法是什么(可能无需重写每个 assert代码)?

有许多类似的问题被问到,主要是处理单元测试上下文中的断言 ...谢谢

最佳答案

当您处理记录异常时,您的代码可能会在 try except 中出错,然后记录异常,例如:

try:
assert 1 == 0
except AssertionError as err:
logger.exception("My assert failed :( ")
raise err

然后它会记录:

2016-02-16 15:29:43,009 - __main__ - INFO - info level
2016-02-16 15:29:43,009 - __main__ - ERROR - My assert failed :(
Traceback (most recent call last):
File "/home/james/PycharmProjects/scratchyard/test_time.py", line 8, in <module>
assert 1 == 0
AssertionError

关于python - "canonical"使用 Python 断言日志记录的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35442415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com