我的代码使用apache-log4j-2.0.2非常简单:importorg.apache.log4j.BasicConfigurator;importorg.apache.log4j.Logger;publicclassLog4jtest{staticLoggerlog=Logger.getLogger(Log4jtest.class);publicstaticvoidmain(String[]args){BasicConfigurator.configure();log.debug("Thisisdebugmessage");}}但是我遇到了这样的异常:Exceptioninthr
我正在尝试从Hibernate3.2升级到3.4,它显然使用了slf4j。我们的项目目前使用log4j。所以我的假设是我应该使用slf4j-log4j12包装的实现。Mavenslf4j依赖是:org.slf4jslf4j-log4j121.5.6虽然log4j依赖是:log4jlog4j1.2.15slf4j-log4j12和log4j都引用了最新版本(我可以在Maven存储库中找到)。当我运行我的应用程序时,Hibernate的日志记录失败:java.lang.NoSuchFieldError:nameatorg.slf4j.impl.Log4jLoggerAdapter.(Log
我有一些关于日志记录的问题,更具体地说是关于设置它并确保它工作的问题。我正在做的项目将使用Wicket,Spring和Hibernate.我知道Wicket和Hibernate使用Java的SimpleLoggingFacade(SL4J)并且Spring使用的是loggingcomponentfromApacheCommons.他们会幸福地共存吗?我以为我会使用log4j再加上SL4J和Apachecommons的日志组件,你认为这是个好主意吗?我可以将它们全部设置为将日志数据输出到一个通用文件中吗?或者我应该使用单独的文件?还是应该将日志消息存储在数据库中?(我宁愿不这样做,因为我
我目前正在做一个使用log4j的项目。我正在运行一个测试用例(junit)并想将日志级别设置为跟踪,以便我可以查看所有值是否正确。项目中使用日志的类包含如下一行:privatestaticfinalLogLOG=LogFactory.getLog(MatchTaskTest.class);并使用类似这样的方式进行实际调试LOG.trace("value");我以前从未使用过log4j,有人知道我如何仅为测试用例更改日志级别,最好只需在eclipse的运行配置对话框中定义一个参数。 最佳答案 使用另一个配置文件也许你可以指向另一个配置
我想知道如何将以下代码转换为将这些行输出到文本文件,而不是标准输出:importorg.apache.log4j.Logger;importorg.apache.log4j.PropertyConfigurator;publicclassHelloWorld{staticfinalLoggerlogger=Logger.getLogger(HelloWorld.class);publicstaticvoidmain(String[]args){PropertyConfigurator.configure("log4j.properties");logger.debug("Sampled
我对这三个记录器库有点困惑。似乎他们可以在Java日志记录中做类似的事情...... 最佳答案 查看他们的主页:SLF4J-Java的简单日志外观(SLF4J)用作各种日志框架(例如java.util.logging、logback、log4j)的简单外观或抽象1,允许最终用户在部署时插入所需的日志框架。1)它本身不是一个日志库,而是许多日志库之一的通用接口(interface)。Log4j1.2-欢迎使用Apachelog4j,这是一个用于Java的日志库。Logback-Logback旨在作为流行的log4j项目的继任者,在lo
我正在运行一个使用log4j2.0-rc1和log4j.properties文件的示例,但log4jlib始终使用默认配置(日志级别、附加程序等)运行它。我还尝试将名称更改为log4j2.properties并没有发生任何事情。 最佳答案 Log4j2不再支持Log4jv1".properties"格式(然而,从v2.4开始,Log4j支持Property格式,但其语法为totallydifferentfromv1format)。新格式为XML、JSON和YAML,请参阅thedocumentation(注意:如果您在名为“.pro
由于某种原因,当我运行JUnit测试时,我的Eclipse控制台不再显示Log4jINFO和DEBUG语句。在代码方面没有任何变化,所以它必须与Eclipse配置有关。我在单元测试中所做的只是以下内容,出于某种原因,只有ERROR语句会显示在Eclipse控制台中。为什么?我该去哪里寻找线索?publicclassSampleTest{privatestaticfinalLoggerLOGGER=Logger.getLogger(SampleTest.class);@Beforepublicvoidinit()throwsException{//Log4Jjunitconfigurat
我正在一个简单的测试应用程序中试用log4j。我在eclipse中创建了一个新的Java项目并将log4jJAR(v1.2.16)添加到我的构建路径中。然后我创建了一个打印HelloWorld的简单类。然后我使用log4jLogger类来记录信息消息。当我运行应用程序时,我会看到日志消息,使用我假设的默认附加程序和布局。伟大的。我遇到的问题是添加我自己的配置。这就是我所做的:创建了一个带有自定义附加程序和日志级别的log4j.properties文件,并将其放入src文件夹中(编译时将其复制到bin文件夹中)。运行应用程序-没有变化。我尝试添加PropertyConfigurator.
我想使用新的Log4J2-Java日志框架。一切正常,但我尝试了一个小时后加载自定义配置文件来配置日志记录(如日志级别)。这是我的log4j2.xml:我尝试了以下方法,但没有任何效果:移动log4j2.xml文件,使其位于默认包中。将log4j2.xml文件移动到项目中的任意位置将log4j2.xml文件命名为“log4j.xml”在您的项目中创建一个文件夹,将您的log4j2.xml文件放在那里并将该文件夹添加到您的运行时类路径中自从officialwebsite帮不了我,我希望你能帮助我让Log4j2使用我的配置文件。 最佳答案