3

当我在 Eclipse 中使用 grizzly 框架运行我的 junit jersey 服务测试时,日志被定向到 stderr。结果,控制台窗口获得焦点,日志显示为红色。

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

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

ps 我也知道我可以在 Eclipse 中关闭“标准错误更改时显示控制台”功能,但我不想解决这个问题。:)

4

2 回答 2

2

在我看来,Grizzly 使用的不是 slf4j,而是“标准”java.util.logging 框架。如果是这种情况,您可以在此处阅读有关配置它的信息:http: //docs.oracle.com/javase/6/docs/technotes/guides/logging/overview.html#1.8

于 2012-02-01T04:08:26.553 回答
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。

于 2012-02-01T07:23:28.777 回答