Java 使用log4j的restlet日志记录
直到昨天,我还是Restlet2.0.15的快乐用户,当时他们似乎已经停止了Maven存储库中的2.0.x版本,所以我不得不升级到2.1.1 在旧版本中,我使用SLF4J作为连接Log4J的桥梁,并且我能够将restlet日志获取到基于Log4J的日志系统中。这不再适用于restlet 2.1.1。你知道我需要修什么吗 这就是它的工作方式:Java 使用log4j的restlet日志记录,java,log4j,restlet,slf4j,Java,Log4j,Restlet,Slf4j,直到昨天,我还是Restlet2.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
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);
}
本周末,我们遇到了一个硬件故障,将逐步恢复Maven存储库中的2.0.x工件(2.0.10之前的版本已经可用) 然而,2.0分支已经到了生命的尽头,因此升级到2.1.1绝对是一个好主意 据我所知,SLF4J扩展自2.0以来根本没有改变,只调整了日志级别,并添加了JULI的编程控制。它可能弄坏了什么东西
您能在GitHub中输入一个问题吗?我发现它可以与slf4j restlet扩展配合使用,这行代码:
System.setProperty("org.restlet.engine.loggerFacadeClass", "org.restlet.ext.slf4j.Slf4jLoggerFacade");
而不是
SLF4JBridgeHandler.install();
谢谢我输入了问题#706。我发现它可以与slf4j restlet扩展以及以下行配合使用:System.setProperty(“org.restlet.engine.loggerFacadeClass”,“org.restlet.ext.slf4j.Slf4jLoggerFacade”);而不是SLF4JBridgeHandler.install();另请参阅,实际上我发现使用a-D启动属性而不是使用System.setProperty()来设置它可以消除所有的STDERR日志记录。我不确定为什么图书馆会把信息记录到STDERR上,这对我来说似乎是错误的。