【发布时间】:2014-07-24 10:46:08
【问题描述】:
我想将所有传入和传出的CXF 请求记录到特定的日志文件中。但是我通过以下配置得到的只是控制台输出。这里有什么问题?
log4j2.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="CONSOLE" target="SYSTEM_OUT">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
</Console>
<RollingFile name="CXF" fileName="cxf.log">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
</RollingFile>
</Appenders>
<Loggers>
<logger name="org.apache.cxf" additivity="false" level="info">
<AppenderRef ref="CXF"/>
</logger>
<logger name="org.apache.cxf.interceptor.LoggingInInterceptor" additivity="false" level="info">
<AppenderRef ref="CXF" />
</logger>
<logger name="org.apache.cxf.interceptor.LoggingOutInterceptor" additivity="false" level="info">
<AppenderRef ref="CXF" />
</logger>
<Root level="all">
<AppenderRef ref="CONSOLE" />
</Root>
</Loggers>
</Configuration>
src/main/resources/META-INF/cxf/org.apache.cxf.Logger:
org.apache.cxf.common.logging.Log4jLogger
【问题讨论】:
-
双重检查:您是否真的将日志拦截器分配给您的端点?
-
是的,我当然愿意。我发现我的配置曾经与 log4j2 v2.0-beta9 一起使用,但在当前版本 v2.0 中不再适用。此外,通常 cxf 日志记录很好,因为它可以打印到 systemout。但是日志文件是空的。