我有一个长期运行的python程序,该程序会产生很多日志。我想使用外部工具(lnav,multitail等)格式化日志,主要是在不更改代码的情况下获取彩色日志(例如,在[ERROR]
上显示红色,在[INFO]
上显示绿色等) )。问题在于,将python程序传递给tail,lnav或其他任何内容都会弄乱行的结尾。这是一个日志正常显示的示例:
[INFO]: Started
[INFO]: Data 0 captured
[ERROR]: Connection down
这是用管道输送到尾巴,lnav等时的样子。
[INFO]: Started
[INFO]: Data 0 captured [ERROR]: Connection down
是管道造成的吗?我该如何尊重行尾?
答案 0 :(得分:0)
我发现自己遇到了同样的问题,经过大量的实验,这对我有用:
import sys
import logging
FORMAT = '[%(asctime)s] %(levelname)s %(name)s - %(message)s'
logging.basicConfig(format=FORMAT, stream=sys.stdout)
[可选]要充分利用lnav,您需要教它如何解释所使用的日志格式。
Here's the lnav log parser I use with the format string above.