How to set up a jetty for using log4j?

How do I configure jetty to use log4j? I already use log4j in my application and the berth logs are stderr ...

import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.nio.SelectChannelConnector; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; public class Test { static final Logger logger = Logger.getLogger(Test.class); public static void main(String[] args) { PropertyConfigurator.configure("log4j.properties"); logger.info("Started."); Server server = new Server(); Connector connector = new SelectChannelConnector(); connector.setHost("127.0.0.1"); connector.setPort(8080); ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS); context.setContextPath("/"); context.addServlet(new ServletHolder(new ServletHome()), "/"); // disable jettys default logger //org.eclipse.jetty.util.log.Log.setLog(null); server.addConnector(connector); server.setHandler(context); logger.debug("Starting jetty."); try { server.start(); server.join(); } catch (Exception e) { logger.error("Ooops."); } logger.info("Finished."); } } 
+7
source share
1 answer

Jetty uses slf4j for logging . slf4j allows a unified logging API to connect to any supported logging framework. Of course, log4j is supported. All you have to do is install both the slf4j API and the slf4j-log4j connector into your classpath. It should automatically connect.

+9
source

All Articles