Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Grizzly Standalone Logging

i have setup a standalone grizzly/jersey server using maven and referencing the following dependencies

<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>

I already implemented a client using the jersey client api to GET a resource, manipulate it and POST it back. Everything fine so far.

Now i wanted to POST something using curl which won't work. But now the question:

The thing is that i can't get Grizzly to log something to the console and haven't found any logfiles yet. Is grizzly using log4j or logging-api? Could anyone provide me with a logging.properties or something similar?

I'm starting the Server through a run config in eclipse specifiy

-Djava.util.logging.config.file=${project_loc}\src\main\resources\logging.properties

as an argument. The references file exists and contains

.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

This might be a very basic question but i'm sick of trial-and-error :-)

like image 484
thuri Avatar asked Jan 24 '14 10:01

thuri


2 Answers

I've just had to solve the same problem. Here is my initialization code that convinces Grizzly HTTP server to display errors: 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);

I am using Grizzly 2.3.3

like image 112
Jaroslav Tulach Avatar answered Oct 06 '22 01:10

Jaroslav Tulach


Grizzly uses JDK logging API. Not sure why it doesn't work for you, double check that java.util.logging.config.file property is getting properly resolved.

like image 24
alexey Avatar answered Oct 06 '22 00:10

alexey