当使用 Python logging
库时,标准的方法是像这样写一些消息:
logging.info("All right")
但有时需要显示某些(长)任务的结果状态(在消息的主要部分输出后一段时间)。例如:
Some long computing... [done]
或
Some long computing... [fail]
我该如何解决这个问题?
总计:
好的。这是可能的,但只能在下一行。要在同一行中输出成功消息,您必须使用其他工具(可能是自定义工具),而不是 logging
Python 库。
最佳答案
听起来这可能对您有所帮助。
import logging
logging.basicConfig(format = "%(asctime)s - %(levelname)s - %(message)s",
level = logging.DEBUG)
logging.info("Long Task is starting")
try:
StartLongTaskFunction()
logging.info("Long task finished")
except:
logging.exception("Long task failed")
请注意,logging.exception() 与 logging.error() 略有不同。在为 logging.exception() 添加日志条目后,整个 Python 错误消息也包含在内。
如果您想在 StartLongTaskFunction 中记录关键事件,您也可以在此函数中插入日志条目。即使您从单独的模块导入此函数,您仍然可以引用相同的日志文件。
关于Python 记录完成/失败消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16339411/