一种更好的一般管理调试消息的方法?

问题描述 投票:0回答:5

这可能是一个愚蠢的问题。但是我有一个很大的Java程序,正在使用旧的System.err.println方法进行调试,就像我在使用其他任何语言的print *一样。

但是过了一会儿,我有很多这样的东西,我不知道如何管理它们(有时我将同一条消息放了两次,再加上其他信息,使它变得更加困难)。因此,最终,抑制/发现它们有时并不容易。

我不知道如何变得更加严格。你喜欢一种魔术令牌吗?您是否总是打印出println的位置?

如果您有任何Java工具,我会考虑的,但是一般而言,最佳实践会很棒。

java debugging language-agnostic
5个回答
7
投票

也许尝试logging

而不是将消息传递到标准输出,请让记录器为您处理日志记录。同样,能够设置不同的日志记录级别将允许所记录的日志消息具有不同的粒度。


5
投票

对于Java,您应该尝试log4j。使用log4j,可以为消息设置级别(TRACE,DEBUG,INFO,WARN,ERROR和FATAL)。您可以选择(并更改)日志消息的输出,例如在控制台中显示日志,保存在文件中,...

您可以配置消息格式(显示时间,班级名称,...)。

您应该尝试使用commons logging作为日志工具(如log4j的接口)。>>


1
投票

[如果使用的是Eclipse,则可以使用“ systrace”模板(键入systrace,然后按ctrl + space)。您编辑模板以包含文件名,行号等(尽管如果移动行,行号将是错误的,但是没有C / C ++中的漂亮宏)


0
投票

是-我总是打印打印件的位置。甚至在C中使用LINE


0
投票

Eclipse Java开发工具(JDT)对于Java调试非常有效。

© www.soinside.com 2019 - 2024. All rights reserved.