Questions tagged «slf4j»

Java的简单日志记录外观(SLF4J)充当各种日志记录框架的简单外观或抽象层。如果您尝试为应用程序配置日志记录,还请提供您正在使用的实际日志记录框架的标记。

3
记录框架不兼容
我正在构建一个小型Java应用程序,并希望使用logback进行日志记录。 我的应用程序依赖于一个较旧的项目,该项目通过 org.apache.commons | com.springsource.org.apache.commons.logging | 1.1.1 ...所以我的计划是使用 org.slf4j | jcl-over-slf4j | 1.5.6 ...将JCL日志记录重定向到 org.slf4j | slf4j-api | 1.6.0 ...最终 ch.qos.logback | logback-classic | 0.9.22 ch.qos.logback | logback-core | 0.9.22 因此我的应用可以通过其slf4j API通过logback登录,而旧的库代码可以通过重定向登录到同一位置。 ,这导致 java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V at org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:141) 我已经尝试过在其中一些罐子中使用更高或更低的版本号,并且还通过API文档等进行了挖掘...但是我无法找到并解决问题。 请帮助? 尽管logback被认为是“战略”日志记录框架,但是我在最终使用哪种日志记录机制方面还有一些余地。不过,我希望使用logback或log4j,并且我绝对希望通过通用配置将旧项目的日志记录合并到最终成为“新”日志记录框架的内容中。

17
在slf4j中设置运行时消息的日志级别
使用log4j时,该Logger.log(Priority p, Object message)方法可用,可用于在运行时确定的日志级别记录消息。我们正在利用这个事实和技巧将stderr重定向到特定日志级别的记录器。 slf4j没有log()我可以找到的通用方法。这是否意味着无法实现上述目的?
100 java  logging  log4j  slf4j 

5
Logger slf4j的优点是使用{}格式化而不是字符串连接
使用{}代替字符串串联有什么好处吗? slf4j的示例 logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT); 代替 logger.debug("Temperature set to"+ t + ". Old temperature was " + oldT); 我认为这与速度优化有关,因为可以根据配置文件在运行时避免参数评估(和字符串连接)。但是只有两个参数是可能的,因此有时除了字符串串联外别无选择。需要对此问题的看法。

1
如何使用SLF4J使用占位符记录异常和消息
使用SLF4J记录错误消息和异常的正确方法是什么? 我已经尝试过这样做,但从未打印异常堆栈跟踪: logger.error("Unable to parse data {}", inputMessage, e); 在这种情况下,我想填充{}与inputMessage和退出异常堆栈跟踪。 我可以看到的唯一方法是这样做: logger.error("Unable to parse data " + inputMessage, e); 不好看
85 java  logging  slf4j 

7
如何将java.util.logging发送到log4j?
我有一个现有应用程序,它针对log4j进行所有日志记录。我们使用了许多其他库,这些库也使用log4j或对照Commons Logging进行日志记录,最终在环境中使用log4j进行记录。我们的依赖项之一甚至针对slf4j记录日志,它也可以正常工作,因为它最终也可以委托给log4j。 现在,我想为一些缓存需求将ehcache添加到此应用程序。先前版本的ehcache使用commons-logging,在这种情况下本来可以很好地工作,但是从1.6-beta1版本开始,他们已经删除了commons-logging的依赖关系,并改为使用java.util.logging。 并不是很熟悉java.util.logging可用的内置JDK日志记录,是否有一种简单的方法来针对log4j记录发送到JUL的任何日志消息,因此我可以使用现有配置并为即将到来的任何日志记录进行设置从ehcache? 查看JUL的javadocs,看来我可以设置一堆环境变量来更改LogManager所使用的实现,并可能使用它来将log4j封装Logger在JULLogger类中。这是正确的方法吗? 具有讽刺意味的是,当世界上大多数(大多数)使用第三方库时,库使用内置的JDK日志记录会引起如此麻烦。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.