7
Làm cách nào để định cấu hình cầu cảng để sử dụng log4j? Tôi đã sử dụng log4j trong ứng dụng của tôi, trong khi jetty đăng nhập vào stderr ...cách cấu hình cầu cảng để sử dụng log4j?
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.");
}
}
Cảm ơn bạn @musiKk. Tôi đã thêm slf4j-api.jar slf4j-log4j.jar vào classpath của mình và nó đã thực sự được tự động kết nối. Có thể cần lưu ý rằng cầu cảng rất ồn khi việc ghi nhật ký gỡ lỗi được bật trong log4j, vì vậy tôi đã thêm vào log4j.properties để giảm tiếng ồn: 'log4j.logger.org.eclipse.jetty = INFO' – phatypus
Có , điều đó khá phổ biến. Mức độ gỡ lỗi thường rất tiết và đôi khi nó có ý nghĩa để kích hoạt có chọn lọc hoặc hủy kích hoạt các gói để có được đầu ra hợp lý hơn. – musiKk