我有一个使用log4j2编写的新应用程序,以利用它的一些新功能。它使用的一个库有点老,是用log4j1.x构建的。我有一个问题,应用程序中的新代码写入日志,但旧库中的代码没有写入日志。我什至有一个类,它是旧库中某些东西的子类,也被旧库中的代码调用,并且该代码也不会写入日志。我已将应用程序配置为使用log4j2版本2.0.2,并且在将旧库作为maven依赖项引用时明确排除了log4j。如何让旧库中的代码登录到与新代码相同的文件中?重写旧库应该被视为最后的选择 最佳答案 您是否知道log4j2包含log4j-1.2的桥接器?您可以通过删
也许问这个看起来很傻,但我很困惑。我提到了ConfiguringLog4jproperty但这似乎没有帮助。我编写了一个简单的Web服务HelloWorld。在运行它时,我收到类似这样的错误:log4j:WARNNoappenderscouldbefoundforlogger(org.apache.axis.transport.http.AxisServlet).log4j:WARNPleaseinitializethelog4jsystemproperly.我不知道为什么会这样。我正在使用Eclipse生成Web服务并部署在Tomcat6.0中。我查看AxisDeveloper'sG
我的代码使用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
我无法找到我的日志文件。我在WindowsXP上的Eclipse3.7.1中使用Java日志记录-java.util.logging。我的logging.properties文件的相关行是:handlers=java.util.logging.FileHandler,java.util.logging.ConsoleHandler.level=INFOjava.util.logging.FileHandler.pattern=%h/java%u.logjava.util.logging.FileHandler.limit=50000java.util.logging.FileHandl
我正在尝试从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.util.Logging登录控制台:Loggerlog=Logger.getLogger("my.logger");log.setLevel(Level.ALL);ConsoleHandlerhandler=newConsoleHandler();handler.setFormatter(newSimpleFormatter());log.addHandler(handler);log.fine("helloworld");但这什么也没打印出来。我错过了什么?谢谢 最佳答案 非常简单,一个记录器可以有多个处理程序
我对这三个记录器库有点困惑。似乎他们可以在Java日志记录中做类似的事情...... 最佳答案 查看他们的主页:SLF4J-Java的简单日志外观(SLF4J)用作各种日志框架(例如java.util.logging、logback、log4j)的简单外观或抽象1,允许最终用户在部署时插入所需的日志框架。1)它本身不是一个日志库,而是许多日志库之一的通用接口(interface)。Log4j1.2-欢迎使用Apachelog4j,这是一个用于Java的日志库。Logback-Logback旨在作为流行的log4j项目的继任者,在lo