首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java:在包中控制冗长(诊断消息)级别的建议方法是什么?

问Java:在包中控制冗长(诊断消息)级别的建议方法是什么?
EN

Stack Overflow用户
提问于 2012-03-28 23:24:42
回答 5查看 77关注 0票数 0

我是Java的新手,所以我正在寻找一种好的方法来控制包在执行过程中产生的诊断输出量。

假设我有一个集成到不同程序中的包。为简单起见,假设我希望在执行过程中不生成诊断输出,或者生成一些将发送到System.out的输出。问题是什么是最优雅和最可靠的方式。

我是否可以在包中创建一个全局布尔变量,它的值将在调用此包的应用程序中的一个或多个点上设置,然后我将在包中要产生诊断输出的每个点上检查它的值。这样,我就不必将控制参数传递给包中每个类的每个方法。

有没有更好的方法?

谢谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-03-28 23:26:51

您应该看看日志记录。Log4j就是一个例子。避免在代码中完全使用System.out.println。

使用log4j,您可以配置如下内容,以关闭包com.foo.mypackage生成的所有日志记录输出。

代码语言:javascript
复制
log4j.logger.com.foo.mypackage=OFF

一旦你通过了这个阶段,我建议你看看SLF4J和Logback。

票数 0
EN

Stack Overflow用户

发布于 2012-03-28 23:26:15

使用许多可用的日志记录包中的任何一个,包括java.util.logging或log4j。然后,您可以在执行时非常容易地逐个包地配置它。这还意味着,虽然您可以将日志定向到System.out,但您也可以使用更复杂的选项。

票数 1
EN

Stack Overflow用户

发布于 2012-03-28 23:27:28

看看java的logging facilities

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9910743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档