草庐IT

SystemOutToSlf4j

全部标签

java - log4j:缩写/缩短包名称

如何在使用log4j生成的日志中缩写/缩短包名称。即,我想要c.l.a.l.MyClass而不是com.longpackage.anotherpackage.lastpackage.MyClass。我在Artifactory中看到了这个日志,但不知道如何使用log4j来实现。 最佳答案 事实证明,这毕竟可以使用log4j(使用v1.2.16测试),这要归功于TomaszNurkiewicz给我指点LogBack.使用EnhancedPatternLayout可以使用ConversionWord功能。布局。来自javadoc...例如

java - 如何在运行时访问已配置的 Log4J 附加程序?

我想在启动时配置一个附加程序,然后根据需要从各种记录器中动态添加和删除它。我宁愿让log4j自己配置这个附加程序,并在需要时获取对它的引用。如果这不可能,我将不得不自己实例化appender并坚持下去。 最佳答案 Appenders通常被添加到根logger。这是一些伪代码//gettherootloggerandremovetheappenderwewantLoggerlogger=Logger.getRootLogger();Appenderappender=logger.getAppender("foo");logger.re

java - 如何找到 slf4j 绑定(bind)到的库?

我正在使用slf4j登录我的应用程序。我明白了slf4j的目的。我想知道如何找出当前绑定(bind)的日志库slf4j。我在我引用的库中有log4j。我假设slf4j已将自身绑定(bind)到log4j。我想知道的是,有没有什么方法可以明确地确认这个绑定(bind)? 最佳答案 只需按照SLF4J的方式来发现绑定(bind)即可:finalStaticLoggerBinderbinder=StaticLoggerBinder.getSingleton();现在您可以尝试找出实际的实现是什么logback就我而言:System.out

java - Log4J2 属性替换 - 默认

我只是想知道是否有任何方法可以为LOG4J中的属性替换提供默认值?我想在java系统属性中传递文件路径,然后将其与“${env:mySystemProperty}”一起使用。但是如果开发者忘记设置这个属性怎么办?然后我想在log4j2.xml中定义一些有意义的默认值。知道如何实现这个功能吗?编辑:env替换对我不起作用:standalone.conf-DoauthLoginLogPath=/path/oauth2.loglog4j2.xml我可以在wildfly控制台中看到该属性,我重新启动了服务器但我无法完成它。 最佳答案 默认属

java - ClassNotFoundException : org. slf4j.LoggerFactory

我正在尝试运行GWTRequestFactory并遇到此错误:ClassNotFoundException:org.slf4j.LoggerFactory我尝试下载slf4j-api-1.3.1.jar,但没有解决问题知道我需要下载哪个jar吗? 最佳答案 最好总是在第一次尝试时下载,来自开发者的site的最新版本我收到了与您相同的错误消息,通过从上面下载jar(slf4j-1.7.2.tar.gz2012OCT13的最新版本),解压缩,解压缩,添加2个jar以在eclipse中构建路径(或在命令行中添加到类路径):slf4j-ap

java - 外部 log4j.xml 文件

我正在尝试在jar外部的文件系统上运行带有log4j.xml文件的jar,如下所示:java-jarMyJarName.jar-cp=/opt/companyName/pathToJar/log4j.configuration=log4j.xmlargToJar1argToJar2我也试过了:java-jarMyJarName.jar-cp=/opt/companyName/pathToJar/log4j.configuration=/opt/companyName/pathToJar/log4j.xmlargToJar1argToJar2log4j.xml文件与jar(/opt/co

java - 有没有正确的方法在 slf4j 中传递参数?

我正在使用slf4j来跟踪信息。我的代码是privatestaticfinalLoggerlog=LoggerFactory.getLogger(ObjectTest.class);log.trace("Timetakentostore"+count+"objectsofsize"+size+"is"+(time)+"msecs");log.trace("Timetakentostore{}objectsofsize{}is{}msecs",newObject[]{count,size,time});log.trace("Timetakentostore{}objectsofsize{

java - 如何通过 JUnit 测试拦截 SLF4J(带 logback)日志记录?

是否有可能以某种方式拦截日志记录(SLF4J+logback)并通过JUnit测试用例获取InputStream(或其他可读的内容)...? 最佳答案 Slf4jAPI没有提供这种方式,但Logback提供了一个简单的解决方案。您可以使用ListAppender:一个白盒logbackappender,其中日志条目被添加到publicList字段中,我们可以使用它来进行断言。这是一个简单的例子。Foo类:importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;publicclassF

java - NoClassDefFoundError : org/slf4j/impl/StaticLoggerBinder

我正在尝试运行here给出的示例图block示例.下面是我的POM.xml:junitjunit3.8.1testorg.apache.tilestiles-api2.1.2org.apache.tilestiles-core2.1.2org.apache.tilestiles-jsp2.1.2org.slf4jslf4j-api1.5.2当我尝试运行示例时,会抛出以下错误:Sep17,201011:59:43PMorg.apache.catalina.core.StandardContextlistenerStartSEVERE:Errorconfiguringapplication

java - log4j.properties 文件 - 同一类中的多个记录器

我想在我的应用程序中有两个不同的log4j记录器,并且它们写入各自日志的内容之间没有“重叠”。例如:Logger1写入与一组系统事件相关的INFO事件Logger2写入与另一组系统事件相关的INFO事件日志中不应出现任何条目两次我的log4j.properties如下:log4j.rootLogger=DEBUG,stdoutlog4j.logger.org.apache=DEBUG,stdoutlog4j.logger.xdasLogger=DEBUG,xdaslog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.ap