我想将restlet日志记录桥接到log4j2,因此正确记录了LogServices。目前我的日志模式中有完全限定的类名,例如:[org.restlet.Component.InternalRouter]
,但LogService记录为[.Logservice]
(这不是所需的行为)。我没有在类路径中拥有slf4j桥的类,也不想要它们(除了slf4j api-classes)。我使用所有依赖项来桥接JUL,log4j1.x,Slf4j。
之前使用slf4j我使用了来自JULI"的restlet documentation / section" SLF4J桥的代码。桥接输出。使用代码删除处理程序将导致异常,因为不再有Handler。
我使用log4j2 2.2和restlet 2.0.15
答案 0 :(得分:1)
Restlet使用JDK的日志API,您可以桥接到log4j。
如果您愿意,您自己的类可以使用SLF4J API(我更喜欢logj4 API),它也可以桥接到log4j。
运行时类路径中需要两个桥:log4j-jul e log4j-slf4j-impl。
在Maven中,请执行:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jul</artifactId>
<version>2.2</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.2</version>
<scope>runtime</scope>
</dependency>
这样,您可以使用Log4j配置它们。