我正在从脚本中到处使用print()
语句迁移到一个更严肃的日志系统。我正在使用logging
模块来管理任务。但有一件事我似乎无法实现:
在某些情况下,我想分两个不同的步骤创建一个日志条目,但记录在同一行中。经典的样子是这样的:
Initiating procedure... OK
在这种情况下,仅当任务成功时才记录OK
部分。你知道吗
我使用以下打印命令来实现这一点:
print('Initiating procedure... ', end="", flush=True)
...
print('OK')
有没有办法用logging
模块实现类似的功能?像这样的
logging.info("First message", end="", flush=True)
...
logging.info("OK")
您可以将} 与自定义格式化程序一起使用,以实现所需的功能。这种方法会在内存中缓冲记录,直到刷新为止,刷新会写入目标处理程序,并允许您潜在地将两个日志记录合并到单个输出事件中。你知道吗
BufferingHandler
如^{我不确定这是个好主意。我不认为日志应该这样使用。您经常会在日志消息之前看到有关日期、时间和日志消息性质的信息。你知道吗
你真的想要这样的台词吗:
在同一条线上?你知道吗
通常,您会使用其他技术解析日志(我经常使用awk解析日志),我相信我会对这种日志感到非常不安。你知道吗
相关问题 更多 >
编程相关推荐