用于嵌入式 Jetty 的 Log4J 集成

Log4J Integration for Embedded Jetty

我正在使用嵌入式码头和 log4j。在我的项目中,我有 log4j.properties 文件来管理我的日志。看起来像下面这样:

org.eclipse.jetty.util.log.Slf4jLog =DEBUG, consoleAppender

log4j.rootLogger=INFO, consoleAppender, fileAppender

问题是应该定义码头日志级别的第一行不起作用。由于我的 rootlogger,我收到消息

INFO  org.eclipse.jetty.util.log  - Logging initialized @11716ms to org.eclipse.jetty.util.log.Slf4jLog

此外,我试过:

log4j.category.org.eclipse.jetty.util.log.Slf4jLog

所以 jetty 似乎检测到 slf4jlog 并且 root 日志记录正在工作。现在我想为jetty写一个特殊的日志级别。如果我只将第一行放在 log4j.properties 那么我就不会得到任何输出。我还尝试在第一行前面加上 log4j: log4j.org.eclipse.jetty.util.log.Slf4jLog =DEBUG, consoleAppender 前缀,但仍然无法正常工作。我根本没有得到任何输出....

org.eclipse.jetty.util.log.Slf4jLog =DEBUG, consoleAppender

class org.eclipse.jetty.util.log.Slf4jLog 在该记录器名称上没有调试级别的记录事件。 您将不会在该记录器名称上看到 DEBUG 级别的记录事件。

这只是从 Jetty 日志外观到 Slf4j 日志外观(然后路由到您的 Log4J 实现)的桥梁 class。

org.eclipse.jetty.util.log.Slf4jLog 的每个实例都有一个特定的声明记录器名称,这些事件将在该名称上发出。

你试过吗....

log4j.category.org.eclipse.jetty=DEBUG, consoleAppender

这会将所有以 org.eclipse.jetty 开头的记录器放入 DEBUG 级别附加到您配置的名为 consoleAppender

的记录器