gpt4 book ai didi

java - 如何使用 logback 关闭 STDOUT 形式的 Soap 消息 CXF

转载 作者:行者123 更新时间:2023-11-30 06:14:17 24 4
gpt4 key购买 nike

我正在使用 Apache cxf 开发 Web 服务,但在我的控制台和 catalina.out 中我有很多额外的日志,我正在使用 logback 进行日志记录。

我想关闭由 org.apache.cxf.services 生成的日志 SOAP 消息,这是我的 logback 配置:

<!-- 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>

使用此配置,我仍然在控制台日志和输出日志文件示例中收到 SOAP 消息:

 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,
.......

任何解决此问题的帮助,提前致谢

最佳答案

最后这个解决方案对我有用:

在文件中:META-INF/cxf/org.apache.cxf.Logger

我添加:org.apache.cxf.common.logging.Slf4jLogger

在 spring 配置中:applicationContext:

我添加:

 <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>

并关闭 logback.xml 中 STDOUT 中的 SOAP 日志记录:

<!-- 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>

关于java - 如何使用 logback 关闭 STDOUT 形式的 Soap 消息 CXF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49571404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com