使用log4j进行restlet日志记录

时间:2013-01-15 10:25:50

标签: java log4j restlet slf4j

我是restlet 2.0.15的用户,直到昨天,他们似乎已经从他们的Maven存储库中停止了2.0.x版本,所以我不得不升级到2.1.1。

在旧版本中,我使用SLF4J作为Log4J的桥梁,我能够将restlet日志记录到基于Log4J的日志记录系统。这不再适用于restlet 2.1.1。我需要解决的任何想法?

这就是它的工作方式:

public static void initLogging() {
    // install the SL4J bridge such as the org.restlet logging messages to
    // be appended to Log4J too, from the default java.util.logging based
    // implementation
    SLF4JBridgeHandler.install();
    ...
    if (log4j != null) {
        DOMConfigurator.configure(log4j);
    }
    log = Logger.getLogger(SomeClass.class);
}

2 个答案:

答案 0 :(得分:3)

我们在本周末遇到了硬件故障,并将逐步恢复Maven存储库中的2.0.x工件(版本高达2.0.10已经可用)。

然而,2.0分支已经达到其生命周期,因此升级到2.1.1绝对是一个好主意。

据我所知,自2.0以来,SLF4J扩展一直没有改变,只调整了日志级别,并添加了JULI的程序控制。它可能会破坏某些东西。

你能在GitHub中输入一个问题吗?

答案 1 :(得分:1)

我发现它与slf4j restlet扩展并使用以下行正常工作:

System.setProperty("org.restlet.engine.loggerFacadeClass", "org.restlet.ext.slf4j.Slf4jLoggerFacade"); 

而不是

SLF4JBridgeHandler.install();