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 :-)
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.
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
Check if you can log something with level FINE in your application.
Logger LOG = Logger.getLogger(MyResource.class.getName());
LOG.log(Level.FINE, "a message")
Jersey is using JDK logging and to see its debug output (e.g. in the grizzly console) you have to get the logging configuration right. This configuration file worked for me:
handlers=java.util.logging.ConsoleHandler
.level=FINE
java.util.logging.ConsoleHandler.level=ALL
来源:https://stackoverflow.com/questions/21329733/grizzly-standalone-logging