Grizzly Standalone Logging

时间:2014-01-24 10:04:43

标签: java eclipse maven logging grizzly

我使用maven设置了一个独立的灰熊/泽西服务器并引用了以下依赖项

<dependency>
  <groupId>org.glassfish.grizzly</groupId>
  <artifactId>grizzly-http-server</artifactId>
  <version>2.3.10</version>
</dependency>
<dependency>
  <groupId>org.glassfish.jersey.containers</groupId>
  <artifactId>jersey-container-grizzly2-http</artifactId>
  <version>2.5.1</version>
</dependency>
<dependency>
  <groupId>org.glassfish.jersey.core</groupId>
  <artifactId>jersey-server</artifactId>
  <version>2.5.1</version>
</dependency>

我已经使用jersey客户端api实现了一个客户端来获取资源,操作它并将其POST回来。到目前为止一切都很好。

现在我想使用curl发布一些不起作用的东西。但现在问题是:

问题是我无法让Grizzly将某些内容记录到控制台并且还没有找到任何日志文件。灰熊使用log4j还是logging-api?任何人都可以为我提供logging.properties或类似的东西吗?

我通过eclipse指定

中的运行配置启动服务器
-Djava.util.logging.config.file=${project_loc}\src\main\resources\logging.properties

作为一个论点。引用文件存在并包含

.handlers= java.util.logging.ConsoleHandler
.level= ALL
java.util.logging.FileHandler.pattern = logs/java%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
org.glassfish.level = FINEST

这可能是一个非常基本的问题,但我厌倦了反复试验: - )

3 个答案:

答案 0 :(得分:9)

我只需要解决同样的问题。这是我的初始化代码,它说服Grizzly HTTP服务器显示错误:http://source.apidesign.org/hg/bck2brwsr/rev/18ae4fbcfb87

Logger l = Logger.getLogger("org.glassfish.grizzly.http.server.HttpHandler");
l.setLevel(Level.FINE);
l.setUseParentHandlers(false);
ConsoleHandler ch = new ConsoleHandler();
ch.setLevel(Level.ALL);
l.addHandler(ch);

我正在使用Grizzly 2.3.3

答案 1 :(得分:1)

Grizzly使用JDK日志记录API。 不确定为什么它对你不起作用,请仔细检查java.util.logging.config.file属性是否正确解析。

答案 2 :(得分:0)

检查您是否可以在应用程序中记录级别为 FINE 的内容。

Logger LOG = Logger.getLogger(MyResource.class.getName());
LOG.log(Level.FINE, "a message")

Jersey正在使用JDK日志记录并查看其调试输出(例如在grizzly控制台中),您必须正确获取日志记录配置。这个配置文件对我有用:

handlers=java.util.logging.ConsoleHandler
.level=FINE
java.util.logging.ConsoleHandler.level=ALL