Route Restlet记录到log4j2

时间:2015-03-11 08:16:50

标签: logging restlet log4j2 restlet-2.0

我想将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

1 个答案:

答案 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配置它们。