How to log CXF webservice requests with log4j2?

你说的曾经没有我的故事 提交于 2019-12-02 00:14:29

As a workaround, I'm now using org.apache.cxf.common.logging.Slf4jLogger and the bridge dependency.

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>2.0</version>
    </dependency>
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">

<Properties>
    <property name="multiplan">logs/multiplan.log</property>        
    <property name="webservice">logs/webservice.log</property>
    <property name="sql">logs/sql.log</property>        
    <property name="mongoexceptions">logs/mongoexceptions.log</property>

</Properties>

<Appenders>
<RollingFile name="mongoexceptions-all" fileName="${mongoexceptions}"
    filePattern="${mongoexceptions}.%i" bufferedIO="false" bufferSize="8192">
        <PatternLayout>
            <pattern>%d{dd MMM HH:mm:ss:SSS} %p [%t] - %m ---- %c%n</pattern>
        </PatternLayout>
        <Policies>
            <SizeBasedTriggeringPolicy size="10000KB" />
        </Policies>
        <DefaultRolloverStrategy max="10"/>
    </RollingFile>

    <RollingFile name="multiplan-all" fileName="${multiplan}"
    filePattern="${multiplan}.%i" bufferedIO="false" bufferSize="8192">
        <PatternLayout>
            <pattern>%d{dd MMM HH:mm:ss:SSS} %p [%t] - %m ---- %c%n</pattern>
        </PatternLayout>
        <Policies>
            <SizeBasedTriggeringPolicy size="10000KB" />
        </Policies>
        <DefaultRolloverStrategy max="20"/>
    </RollingFile>      

    <RollingFile name="webservice-all" fileName="${webservice}" filePattern="${webservice}.%i" bufferedIO="false" bufferSize="8192">
       <PatternLayout>
            <pattern>%d{dd MMM HH:mm:ss:SSS} %p [%t] - %m %n</pattern>
        </PatternLayout>
        <Policies>
            <SizeBasedTriggeringPolicy size="10000KB" />
        </Policies>
        <DefaultRolloverStrategy max="5"/>

    </RollingFile>

     <RollingFile name="sql-all" fileName="${sql}" filePattern="${sql}.%i" bufferedIO="true" bufferSize="8192">
        <PatternLayout pattern="%d [%t] %-5p %c - %m%n" />
        <Policies>
            <SizeBasedTriggeringPolicy size="1000KB" />
        </Policies>
        <DefaultRolloverStrategy max="1"/>
    </RollingFile>        
</Appenders>
<Loggers>

    <Root level="info" additivity="false">
        <AppenderRef ref="multiplan-all"/>
    </Root>
    <Logger name="org.apache.cxf" additivity="false" level="warn">
            <appender-ref ref="multiplan-all"/>
    </Logger>
    <Logger name="org.springframework" additivity="false" level="warn">
            <appender-ref ref="multiplan-all"/>
    </Logger>
    <Logger name="org.eclipse.jetty" additivity="false" level="warn">
            <appender-ref ref="multiplan-all"/>
    </Logger>
    <Logger name="com.multiplan.bam.db.edp.EventAuditDAO"  level="error" additivity="false">
        <appender-ref ref="mongoexceptions-all" />
    </Logger>
    <Logger name="com.multiplan.bam.db.edp.ExceptionsLogDAO"  level="error" additivity="false">
        <appender-ref ref="mongoexceptions-all" />
    </Logger>
    <Logger name="com.multiplan.bam.db.edp.ClaimDAO"  level="debug">
        <appender-ref ref="webservice-all" />
    </Logger>
    <Logger name="com.multiplan.bam.db.edp.CPDSummaryDAO"  level="debug">
        <appender-ref ref="webservice-all" />
    </Logger>
    <Logger name="DBConnectionFactory" level="info">
        <appender-ref ref="sql-all"/>
    </Logger>       
</Loggers>
</Configuration>

Here is the working example.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!