我最近被大量的消息打印到我的控制台而不知道它们来自哪里。
有没有办法轻松制作类似于system.out.println的自定义类,它将打印出自定义消息以及
答案 0 :(得分:1)
Apache,确实提供了一个日志记录类,以及它的不同级别。使用这些时,您实际上可以指定需要打印的级别,它还可以帮助您识别调用它的位置。
以下面的行为例,
[2015-03-31 12:51:29,426] DEBUG {org.springframework.beans.factory.support.DefaultListableBeanFactory} - 检索bean的依赖bean'(内部bean)#1b534211#2':[org.springframework .web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver#0] {org.springframework.beans.factory.support.DefaultListableBeanFactory}
它说,它于12月51日在3月31日登陆。记录器用于调试某些逻辑,它是从org.springframework.beans.factory.support.DefaultListableBeanFactory类调用的。
答案 1 :(得分: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
答案 2 :(得分:0)
也许您可以使用OutputStream来自定义控制台中的输出