【问题标题】:How to load log4j2.xml via Spring to log CXF inbound outbound request/response xmls如何通过 Spring 加载 log4j2.xml 以记录 CXF 入站出站请求/响应 xmls
【发布时间】:2014-10-14 15:41:10
【问题描述】:

我的战争中有 log4j.xml,用于记录传入和传出请求以及对特定日志文件的响应。

这是我的 log4j.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
xmlns:log4j='http://jakarta.apache.org/log4j/'>

<appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss} %5p %c{1} - %m%n" />
</layout>
</appender>

<appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="append" value="true" />
<param name="file" value="Folder/ABC.log" />
<param name="MaxFileSize" value="50MB" />
<param name="MaxBackupIndex" value="50" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" />
</layout>
</appender>
<logger name="org.apache.cxf">
<level value="INFO" />
<appender-ref ref="fileAppender" />
</logger>
<root>
<priority value="DEBUG" />
<appender-ref ref="consoleAppender" />
<appender-ref ref="fileAppender" />
</root>

</log4j:configuration>

在 applicationContext.xml 中添加 log4j 配置

<!--This is for log4j configuration -->
<bean id="log4jInitialization"
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="org.springframework.util.Log4jConfigurer" />
<property name="targetMethod" value="initLogging" />
<property name="arguments">
<list>
<value>classpath:/log4j.xml</value>
</list>
</property>
</bean>

想为 log4j2 做类似的配置。如果有人可以分享 log4j2 配置,那将非常有帮助。我在谷歌上搜索了很多,但没有任何帮助。

谢谢。

【问题讨论】:

    标签: xml spring request cxf log4j2


    【解决方案1】:

    假设您使用的是 CXF 2.2.8 或更高版本,您需要执行以下操作:

    步骤 1) 在包含以下内容的类路径上创建一个文件“META-INF/cxf/org.apache.cxf.Logger”: org.apache.cxf.common.logging.Slf4jLogger

    步骤 2) 如果要记录所有消息,请创建 CXF LoggingFeature,将 prettyLogging 属性设置为 true 并将其添加到 CXF 总线。

    步骤 3) 为 Log4j2 和 Log4j 2 SLF4J Binding 添加所需的 jar 文件。如果您使用的是 maven,请包含以下依赖项:

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>${log4j2.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j2.version}</version>
    </dependency>
    

    我创建了一个blog post which explains how to configure CXF for log4j2 in more detail

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多