How to enable DEBUG level logging with Jetty embedded?

38,540

Solution 1

My question was answered on the Jetty mailing list by Joakim Erdfelt:

You are looking at the old Jetty 6.x docs at docs.codehaus.org.

DEBUG logging is just a logging level determined by the logging implementation you choose to use.

-D{classref}.LEVEL={level}

Where {classref} is the class reference you want to set the level on, and all sub-class refs. and {level} is one of the values ALL, DEBUG, INFO, WARN

Example: -Dorg.eclipse.jetty.LEVEL=INFO - this will enable INFO level logging for all jetty packages / classes. -Dorg.eclipse.jetty.io.LEVEL=DEBUG - this will enable DEBUG level logging for IO classes only -Dorg.eclipse.jetty.servlet.LEVEL=ALL - this will enable ALL logging (trace events, internally ignored exceptions, etc..) for servlet packages. -Dorg.eclipse.jetty.util.thread.QueuedThreadPool.LEVEL=ALL - this will enable level ALL+ on the specific class only.

Solution 2

Add this

-Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog 
-Dorg.eclipse.jetty.LEVEL=DEBUG

Snap of Eclipse Configuration

Solution 3

In case you just want to quickly get log messages to stderr add something like this to java command line:

-Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog -D{classref}.LEVEL=DEBUG

Solution 4

You can use this snippet to enable logging:

import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.StdErrLog;
 .
 .
 .
StdErrLog logger = new StdErrLog();
logger.setDebugEnabled(true);
Log.setLog(logger);
Share:
38,540
HolySamosa
Author by

HolySamosa

Updated on August 04, 2020

Comments

  • HolySamosa
    HolySamosa almost 4 years

    I'm trying to set the logging level to DEBUG in an embedded Jetty instance.

    The documentation at http://docs.codehaus.org/display/JETTY/Debugging says to -

    call SystemProperty.set("DEBUG", "true") before calling new org.mortbay.jetty.Server().

    I'm not sure what the SystemProperty class is, it doesn't seem to be documented anywhere. I tried System.setProperty(), but that didn't do the trick.

  • Carlos Silva
    Carlos Silva over 7 years
    +1, this is the only solution that worked for me, although I don't understand why the first option is needed for the second one to work...
  • Richard
    Richard about 7 years
    It took me 4 hours to find this, but here it is. Thanks.