2015-04-01 79 views
0

我最近被大量消息打印到控制台中,不知道它们来自哪里。用于调试的Java调试控制台输出

有没有什么办法可以轻松地做类似的System.out.println自定义类,将与

  • 打印的代码的位置的消息从
  • 来一起印制自定义消息按重要级别切换
  • 不是一个痛苦使用
  • 其他有用的东西?
+0

您可以使用相同的记录器。 – Pratik 2015-04-01 04:57:41

回答

1

有没有什么办法可以轻松地做出类似 的System.out.println一个自定义类,将一起印制自定义消息与

print the location of code the message is coming from 
be toggleable by importance level 
not be a pain to use 
other helpful stuff? 

基本上,你刚才谈到的记录器的实用性。 Java具有相当不错的日志框架,比如log4j,logback等。与任何一个像sl4j一样的门面的用户。使用sl4j日志记录就像System.out.println()一样简单。

只需创建一个记录器实例

private static final Logger log = LoggerFactory.getLogger(YourClassName.class); 

然后打印日志这样

log.debug("Some log"); 

你也可以写不同级别的参数日志消息(级别用来表示重要性级别)

log.debug("Username={}", username); 
log.trace("Username={}", username); 
log.warn("Username={}", username); 

这可能是个开始的好地方 http://www.javacodegeeks.com/2012/04/using-slf4j-with-logback-tutorial.html

+0

感谢dood,真的很有帮助答案:3 – idiotprogrammer 2015-04-01 16:44:05

1

Apache,提供了一个日志记录类,以及它的不同级别。使用这些时,您可以指定需要打印的级别,并且还可以帮助您确定调用位置。

采取下面线例如

[2015年3月31日12:51:29426] DEBUG {org.springframework.beans.factory.support.DefaultListableBeanFactory} - 被检索为豆依赖豆“(内bean)#1b534211#2':[org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver#0] {org.springframework.beans.factory.support.DefaultListableBeanFactory}

它说,它得到了日志于3月31日12:51分。记录器用于调试某些逻辑,并且它是从org.springframework.beans.factory.support.DefaultListableBeanFactory类调用的。

0

也许你可以使用一个OuputStream,你自定义输出在控制台

+0

它可能是一个评论。不是答案 – 2015-04-01 05:13:41

相关问题