簡體   English   中英

如何通過Spring加載log4j2.xml來記錄CXF入站出站請求/響應xml

[英]How to load log4j2.xml via Spring to log CXF inbound outbound request/response xmls

我在戰爭中有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配置,這將非常有幫助。 我在Google中搜索了很多,但沒有任何幫助。

謝謝。

假設您使用的是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綁定添加所需的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>

我創建了一個博客文章,其中詳細介紹了如何為log4j2配置CXF

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM