Java Logger。抑制垃圾(数据/时间/等)

时间:2013-10-26 04:53:47

标签: java logging printing formatting system.out

我知道这个问题被问了好几百次,但是我是编程的初学者(尝试了所有的建议,但是没有成功)和 希望有一个关于如何解决这个问题的更多分步解释。

我在程序中使用 Java Loggers 而不是 System.out ,如下所示:

    Logger logger = Logger.getLogger(TheNameOfMyProgram.class.getName());
    logger.log(Level.INFO, "The number A: " + numberA);
    logger.log(Level.INFO, "The number B: " + numberB);

这就是我得到的输出:

    Oct 25, 2013 11:43:02 PM mypackage.TheNameOfMyProgram methodName
    INFO: The number A: 10
    Oct 25, 2013 11:43:02 PM mypackage.TheNameOfMyProgram methodName
    INFO: The number A: 20

我希望输出以 System.out 的方式显示:

    The number A: 10
    The number B: 20

我该怎么做才能做到这一点?我知道我可能需要创建一个单独的类 让我们说 LogFormatter ,然后调用它来打印 A B 那么,请你解释一下如何创建 LogFormatter 以及如何创建 调用它以获得所需的输出。

请帮忙! 谢谢!

1 个答案:

答案 0 :(得分:0)

假设您的java.util.logging配置正在使用SimpleFormatter,您可以更改配置文件中的格式字符串。有关详细信息,请参阅the javadoc

Oracle文档“稀疏”(IMO)。我在编写java.util.logging配置文件时可以找到的最好的在线“教程”文章是http://tutorials.jenkov.com/java-logging/configuration.html


大多数人使用第三方日志库而不是java.util.logging是值得的。最受欢迎的是log4j 1.2和logback。如果要将(可重用的)代码与日志框架的选择隔离开来,请查看slf4j facade库。