草庐IT

SystemOutToSlf4j

全部标签

java - slf4j 是否有 Java 1.5 varargs API?

我想摆脱这一切......publicvoidinfo(Stringmsg);publicvoidinfo(Stringformat,Objectarg);publicvoidinfo(Stringformat,Objectarg1,Objectarg2);publicvoidinfo(Stringformat,Object[]argArray);...用这个替换它...publicvoidinfo(Stringformat,Object...args);...这样我的日志记录语法就不必根据我要记录的参数数量而改变。似乎有很多讨论和工作围绕它,但它在哪里?还是应该包装slf4j的包装器

java - 在静态与非静态上下文中创建 SLF4J 记录器的开销是多少?

我一直使用以下模式来构建(SLF4J)记录器:privatestaticfinalLoggerlog=LoggerFactory.getLogger(MyClass.class);到目前为止,这已经奏效了,但是我想知道static上下文在某些时候以及是否需要一直传入具体的类文字,而不是仅仅使用像这样的非静态记录器privatefinalLoggerlog=LoggerFactory.getLogger(getClass());在LOG4J之前,这基本上已经被问到(并得到了回答)Shouldloggerbeprivatestaticornot这里Shouldbeloggeralwaysf

java - Log4j 输出未显示在 Eclipse 控制台中

由于某种原因,当我运行JUnit测试时,我的Eclipse控制台不再显示Log4jINFO和DEBUG语句。在代码方面没有任何变化,所以它必须与Eclipse配置有关。我在单元测试中所做的只是以下内容,出于某种原因,只有ERROR语句会显示在Eclipse控制台中。为什么?我该去哪里寻找线索?publicclassSampleTest{privatestaticfinalLoggerLOGGER=Logger.getLogger(SampleTest.class);@Beforepublicvoidinit()throwsException{//Log4Jjunitconfigurat

java - log4j 在哪里/如何查找 log4j.properties 文件?

我正在一个简单的测试应用程序中试用log4j。我在eclipse中创建了一个新的Java项目并将log4jJAR(v1.2.16)添加到我的构建路径中。然后我创建了一个打印HelloWorld的简单类。然后我使用log4jLogger类来记录信息消息。当我运行应用程序时,我会看到日志消息,使用我假设的默认附加程序和布局。伟大的。我遇到的问题是添加我自己的配置。这就是我所做的:创建了一个带有自定义附加程序和日志级别的log4j.properties文件,并将其放入src文件夹中(编译时将其复制到bin文件夹中)。运行应用程序-没有变化。我尝试添加PropertyConfigurator.

java - 使用 XML 文件 (log4j2.xml) 配置 Log4j 2

我想使用新的Log4J2-Java日志框架。一切正常,但我尝试了一个小时后加载自定义配置文件来配置日志记录(如日志级别)。这是我的log4j2.xml:我尝试了以下方法,但没有任何效果:移动log4j2.xml文件,使其位于默认包中。将log4j2.xml文件移动到项目中的任意位置将log4j2.xml文件命名为“log4j.xml”在您的项目中创建一个文件夹,将您的log4j2.xml文件放在那里并将该文件夹添加到您的运行时类路径中自从officialwebsite帮不了我,我希望你能帮助我让Log4j2使用我的配置文件。 最佳答案

java - 错误 : "setFile(null,false) call failed" when using log4j

我在项目的源文件夹中添加了log4j.properties文件,但我仍然收到log4j:error.这是我的Log4j.properties文件:.rootCategory=DEBUG,R,O#Stdoutlog4j.appender.O=org.apache.log4j.ConsoleAppenderlog4j.appender.O=log44j.log#Filelog4j.appender.R=org.apache.log4j.RollingFileAppenderlog4j.appender.R.File=log4j.log#Controlthemaximumlogfilesiz

Java 打包工具 - jsmooth、launch4j、onejar 的替代品

我已经使用这三个开源工具来打包我的java应用程序,但它们现在看起来都像废弃的软件。这三个都是非常好的软件。现在有哪些选择?(或者使用Java进行桌面应用开发不再是应用开发人员构建和维护这些工具的“热门”市场?)。1)exe包装器:jsmooth-2.5年内无新开发-不支持64位。launch4j-一年多没有新开发,支持64位,但是不能签名launch4j创建的exe,所以我更喜欢jsmooth,但不支持64位。2)一个jar:它可以工作,但在超过2.5年的时间里没有新的开发或网站更新。所以,如果它突然因新的Java版本而中断,只想切换到受支持的东西/有一个备份计划。谢谢埃德加

java - 如何从 Log4j Logger/Appender 中排除单个类?

我有一个包“com.example”。这个包有五个类。我想将其中四个类记录到一个文件中,但不包括第五个类。我可以写四个记录器,例如loggername="com.example.Class1",并将相同的appender添加到所有四个logger。有没有更简单的方法(让我们认为我有100个而不是5个类)?还有一些类似的问题。但是其他人只是想排除一个类来记录这个类。这可以使用加法标志来解决。但我认为加法标志在这里不起作用,因为我不想记录第五课,而是所有其他的?!希望有人能帮帮我吗? 最佳答案 只需将您的第五类配置为使用日志级别关闭:l

java - “log4j:configuration” 必须匹配 “(renderer….loggerFactory)?)”

在将我的war文件部署到tomcat时出现错误:log4j:WARNThecontentofelementtype"log4j:configuration"mustmatch"(renderer*,throwableRenderer?,appender*,plugin*,(category|logger)*,root?,(categoryFactory|loggerFactory)?)"我搜索了一下,发现我的log4j.xml的顺序可能是错误的,但它应该是正确的。有什么建议吗? 最佳答案 根据错误消息,DTD期望所有category

java - Logback native VS 通过 SLF4J 的 Logback

我已经阅读了以下有关Java可用的日志记录框架的文章:http://michaelandrews.typepad.com/the_technical_times/2011/04/java-logging-reconsidered.html作者提到了将SLF4J与Logback结合使用。这与直接使用Logback有什么不同。如果直接使用Logback而不是使用SLF4J会不会更好,因为Logback是建立在SLF4J之上的。 最佳答案 SLF4J为Logback增加了零开销,因为它只是由Logback实现的接口(interface),