как настроить пристань для использования log4j? - PullRequest
7 голосов
/ 15 августа 2011

Как мне настроить jetty для использования log4j?Я уже использую log4j в своем приложении, в то время как Jetty регистрирует в 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.");
    }
}

1 Ответ

9 голосов
/ 15 августа 2011

Jetty использует slf4j для регистрации .slf4j позволяет унифицированному API ведения журнала подключаться к любой поддерживаемой структуре ведения журнала.Конечно, log4j тоже поддерживается.Все, что вам нужно сделать, это подключить API-интерфейс slf4j и разъем slf4j-log4j к вашему пути к классам.Он должен быть подключен автоматически.

...