灰熊记录到stderr,在日食中烦人

时间:2012-01-31 22:40:20

标签: eclipse logging junit jersey grizzly

当我在eclipse中使用grezzly框架运行我的junit jersey服务测试时,日志将被定向到stderr。因此,控制台窗口会抓取焦点,日志显示为红色。

我无法弄清楚正确的配置步骤。从我的阅读看起来我需要将slf4j.jar添加到我的pom.xml并在某处添加日志属性文件?但我不确定要添加哪些slf4j jar(有很多)或放置日志属性文件的位置。

或者,坦率地说,如果这是一般的正确方法。

P.S。另外我知道我可以在eclipse中关闭“标准错误更改时显示控制台”功能,但我宁愿不画这个问题。 :)

2 个答案:

答案 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。