结构化调试日志

时间:2013-05-31 21:24:26

标签: debugging logging

我正在编写一个复杂的应用程序(编译器分析)。为了调试它,我需要检查应用程序的执行跟踪,以确定其值和数据结构在执行过程中如何演变。对于我来说,为单次运行生成兆字节的文本输出并通过所有非常耗费人力的方式进行筛选是很常见的。为了帮助我管理这些日志,我编写了自己的库,用HTML格式化它们,可以很容易地从不同的代码区域中着色文本,并在调用的函数中缩进代码。输出的示例是here

我的问题是:有没有比我自己的家庭图书馆更好的解决方案?我需要一些方法来发出可能包含任意文本和图像的调试日志,并在视觉上构建它们,如果可能的话,将它们编入索引,以便我可以轻松找到我最感兴趣的输出区域。那里有这样的东西吗?

3 个答案:

答案 0 :(得分:0)

无论你没有提到应用的语言,我想建议apache Log4XXX系列:http://logging.apache.org/

它提供可自定义的详细信息级别以及标记驱动的记录器。 GUI工具(电锯)可以与“旧的好”GREP方法结合使用(因此您只能看到您当前感兴趣的内容)。

答案 1 :(得分:0)

Chainsaw的最新开发者快照中提供了使用表达式语法进行着色,搜索和过滤。表达式语法还支持正则表达式(使用'like'关键字)。

Chainsaw可以解析任何常规文本日志文件,而不仅仅是log4j生成的日志文件。

Chainsaw的最新开发者快照可在此处获得: http://people.apache.org/~sdeboy

File,load Chainsaw配置菜单项是您定义要处理的日志文件的“格式”和位置的位置,表达式语法可以在教程中找到,可以从帮助菜单中找到。

如果您有其他问题,请随时给log4j用户列表发送电子邮件。

答案 2 :(得分:0)

我创建了一个可能对您有帮助的框架,https://github.com/pablito900/VisualLogs