Reputation: 4848
I'm working on web service using Apache cxf but in my console and catalina.out I had a lot of extra logs ,I'm using logback for logging.
I want to turn off logging soap message generated by org.apache.cxf.services,this my logback configuration :
<!-- Standard Output logger -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<!-- File Appender -->
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/logs/output-log.log</file>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>1MB</maxFileSize>
</triggeringPolicy>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/logs/output-log-%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{dd-MM-yyyy HH:mm:ss.SSS} %-5p [%-10.10t]
%60.60c:%-3L%m%n
</pattern>
</encoder>
</appender>
<logger name="org.apache.cxf" level="ERROR" additivity="false">
<appender-ref ref="AUDITTRAIL" />
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
<!-- appender-ref ref="SYSLOG" / -->
</logger>
<logger name="org.apache.cxf.interceptor" level="ERROR"
additivity="false" />
<logger name="org.apache.cxf.services" level="ERROR" additivity="false" />
<root level="INFO">
<appender-ref ref="AUDITTRAIL" />
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
<!-- appender-ref ref="SYSLOG" / -->
</root>
Using this configuration I still get soap message in my console log and outlog file example :
mars 30, 2018 9:55:00 AM org.apache.cxf.services.WebServiceImplService.StartImplPort.WebService
INFOS: Inbound Message
----------------------------
ID: 5
Address: http://127.0.0.1:8089/glsid/ws/webService
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml; charset=utf-8
Headers: {Accept=[text/xml, text/html, image/gif, image/jpeg,
.......
Any help to fix this problem thanks in advance
Upvotes: 2
Views: 2100
Reputation: 4848
Finally this solution work for me :
in the file : META-INF/cxf/org.apache.cxf.Logger
I added : org.apache.cxf.common.logging.Slf4jLogger
In the spring configuration : applicationContext :
I added :
<bean id="loggingInInterceptor" class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
<bean id="loggingOutInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
<cxf:bus>
<cxf:inInterceptors>
<ref bean="loggingInInterceptor"/>
</cxf:inInterceptors>
<cxf:outInterceptors>
<ref bean="loggingOutInterceptor"/>
</cxf:outInterceptors>
</cxf:bus>
and to turn off soap logging in STDOUT in the logback.xml :
<!-- Apache CXF logger -->
<logger name="org.apache.cxf" level="INFO"/>
<logger name="org.apache.cxf.interceptor" additivity="false">
<!-- <appender-ref ref="STDOUT" /> -->
<appender-ref ref="FILE" />
</logger>
<root level="INFO">
<!-- <appender-ref ref="STDOUT" />-->
<appender-ref ref="FILE" />
</root>
Upvotes: 2