【问题标题】:grizzly logs to stderr, annoying in eclipse灰熊日志到标准错误,在日食中很烦人
【发布时间】:2012-01-31 22:40:20
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: eclipse logging junit jersey grizzly


    【解决方案1】:

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

    【讨论】:

      【解决方案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。

      【讨论】:

      • 您并不孤单(而且 log4j 也好不到哪里去)。 slf4j 多年来一直是我的首选。
      • 您能否让 Grizzly 的日志输出显示出来?我有同样的红色输出问题并使用您的解决方案来修复它,但问题是在那之后我根本看不到灰熊的日志记录。我尝试过在我的 log4j.properties 文件中提及或不提及 grizzly。关于如何查看灰熊日志记录的任何提示?谢谢!
      猜你喜欢
      • 2015-04-08
      • 2016-01-16
      • 2011-08-20
      • 1970-01-01
      • 2019-07-11
      • 2010-10-01
      • 1970-01-01
      • 2016-05-31
      • 1970-01-01
      相关资源
      最近更新 更多