簡體   English   中英

從CXF 2.2.3遷移到2.7.17后,CXF log4j不起作用

[英]CXF log4j doesn't work since migrating from cxf 2.2.3 to 2.7.17

我們最近從CXF 2.2.3遷移到CXF2.7.17,我再也看不到他們應該去的日志文件中的任何cxf日志。

據我所知,我們記錄CXF的配置是相當標准的。

在cxf.xml中,我們有

<bean id="logInbound" class="org.apache.cxf.interceptor.LoggingInInterceptor" />
<bean id="logOutbound" class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
<cxf:bus>
    <cxf:inInterceptors>
        <ref bean="logInbound" />
    </cxf:inInterceptors>
    <cxf:outInterceptors>
        <ref bean="logOutbound" />
    </cxf:outInterceptors>
    <cxf:outFaultInterceptors>
        <ref bean="logOutbound" />
    </cxf:outFaultInterceptors>
    <cxf:inFaultInterceptors>
        <ref bean="logInbound" />
    </cxf:inFaultInterceptors>
</cxf:bus>

Tomcat(Java 7為7)使用以下參數啟動:

-Dorg.apache.cxf.Logger=org.apache.cxf.common.logging.Log4jLogger

在我們的lo4g道具文件中:

log4j.appender.cxfAppender=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.cxfAppender.file=/usr/users/theuser/DATA/LOG/theappli-web/theappli-CXF.log
log4j.appender.cxfAppender.layout=com.thefirm.log.PatternLayout
log4j.appender.cxfAppender.layout.ConversionPattern=%D %h TOMCAT[-%C{1}] : %X{UTILISATEUR}-%X{JSESSIONID};%p;%M;ESV;%X{CODE_MSG};%m;;%n
log4j.logger.org.apache.cxf.interceptor=INFO, cxfAppender
log4j.additivity.org.apache.cxf.interceptor=false

在遷移期間,這些文件沒有任何變化。 有人在遷移后會遇到同樣的問題嗎?

我終於在cxf遷移日志中找到了答案。

日志攔截器現在使用服務特定類別/日志記錄器進行日志記錄,而不僅僅是LoggingInInterceptor / LoggingOutInterceptor。 使用的> logger的名稱為org.apache.cxf.services.ServiceName.PortName.PortTypeName。 這允許用戶>在他們的日志記錄>配置中配置特定的每個服務過濾器和格式化程序。

解決方案是將log4j.logger.org.apache.cxf.interceptor=INFO, cxfAppenderlog4j.logger.org.apache.cxf.=INFO, cxfAppender

暫無
暫無

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

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