格式化PyCharm控制台输出以进行JSON日志记录。

6

我正在开发一个应用程序,其日志以JSON格式进行格式化,并具有类似于以下结构:

{"level": "INFO", "lineno": 85, "timestamp": "2020-01-01", "message": "Some message"}

这种格式在生产环境中非常有效,其中日志被发送到ELK,但随着日志变得越来越复杂,在PyCharm中理解它们越来越困难。

我正在寻找一种方法来格式化控制台的输出(这样我就不必改变代码中日志的格式),使其更易读,例如:

2020-01-01 INFO 85 Some message

在寻找解决方案时,我发现这个选项,它使用了bunyan,还建议使用GrepConsole。我尝试过这两种方法,但都没能成功。

bunyan的解决方案根本不起作用。日志仍显示为JSON格式,而GrepConsole适用于过滤或突出显示某些文本,但无法进行操作。

如有任何想法,敬请赐教。


如果在调试模式下运行,那么将DEBUG标志添加到代码或环境中并在将输出发送到控制台之前进行格式化难道不是更容易吗? - Selcuk
1
这是一个不错的选择,但是日志记录是一个我没有控制权的外部包。我需要封装它并替换整个应用程序中的使用。如果没有更好的选择,我会这样做。 - Guy Grin
1个回答

0

自从Python3.11以来,使用json格式化程序时,新的堆栈跟踪变得更加复杂。

然而,Pycharm添加了一个小的“软换行”选项,可以将json扩展到全尺寸:

这个: enter image description here

变成了这个: enter image description here

希望能对您有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接