当我在eclipse中使用grezzly框架运行我的junit jersey服务测试时,日志将被定向到stderr。因此,控制台窗口会抓取焦点,日志显示为红色。
我无法弄清楚正确的配置步骤。从我的阅读看起来我需要将slf4j.jar添加到我的pom.xml并在某处添加日志属性文件?但我不确定要添加哪些slf4j jar(有很多)或放置日志属性文件的位置。
或者,坦率地说,如果这是一般的正确方法。
P.S。另外我知道我可以在eclipse中关闭“标准错误更改时显示控制台”功能,但我宁愿不画这个问题。 :)
答案 0 :(得分:2)
我不像Grizzly那样使用slf4j,而是使用“标准”java.util.logging框架。如果是这种情况,您可以在此处阅读:http://docs.oracle.com/javase/6/docs/technotes/guides/logging/overview.html#1.8
答案 1 :(得分:2)
在Eric的帮助下,我创建了这个类:
package org.trebor.www;
import java.util.logging.ConsoleHandler;
import java.util.logging.Handler;
import java.util.logging.Logger;
public class LoggerTrap
{
public LoggerTrap()
{
Handler handler =
new ConsoleHandler()
{
{
setOutputStream(System.out);
}
};
Logger.getLogger("").addHandler(handler);
}
}
并添加了这个jvm arg
-Djava.util.logging.config.class=org.trebor.www.LoggerTrap
并且所有java.logging都转到STDOUT。在这个过程中,我了解到我不太喜欢java.logging。