添加apache CXF后为什么log4J无法正常工作?

时间:2014-01-08 13:19:40

标签: log4j cxf

我使用JSF开发了小型Web应用程序,并添加了log4j来处理日志记录。一切都很完美,直到我在我的Web应用程序中实现添加Web服务。在使用apache CXF实现webservice之后我没有在我的日志文件中获取任何日志,但是可以在eclipse控制台中获取日志。我不知道为什么,它表现得那样?我的日志文件只显示enter image description here之类的消息 我正在使用jdk1.5,log4j 1.2.15和CXF 2.6.11。此外,我尝试了一些来自apache的解决方案,使用log4j而不是cxf默认记录器。请参阅http://cxf.apache.org/docs/debugging-and-logging.html#DebuggingandLogging-LoggingMessages enter image description here

但推荐的解决方案并不适用于我。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

CXF可能引入了另一种日志机制,这意味着添加了另一种日志记录机制,或者导入的slf4j / log4j版本不兼容。 我建议你检查一下CXF pom文件,并排除所有log4j / slf4j jar文件。

答案 1 :(得分:0)

正如@Arash所说,从类路径中删除log4j(如果存在)。还要将文件META-INF/cxf/org.apache.cxf.Logger添加到包含以下内容的类路径中:

org.apache.cxf.common.logging.Slf4jLogger

参考:Using SLF4J Instead of java.util.logging

答案 2 :(得分:0)

通过从CXF中删除slf4j-jdk14.jar解决了问题。实际问题是“类路径包含多个SLF4J绑定”。所以我删除了CXF log4j绑定。现在它完美无缺。谢谢大家。