SOAP消息的日志记录会切断消息文本

时间:2016-05-17 15:45:45

标签: java soap logback slf4j

我正在尝试使用logback来记录SOAP消息。由于交换信息的复杂性,SOAP消息可能会变得相当大。 (这是我无法控制的。)

我的SOAP消息的logback appender看起来像这样

  <appender name="SOAP"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <append>true</append>
    <File>${LogPath}/SOAPMessages.log</File>
    <encoder>
        <pattern>%d{ISO8601} %X{requestID} %-5p [%c] - %m%n</pattern>
        <immediateFlush>${FileImmediateFlush}</immediateFlush>
    </encoder>
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
        <minIndex>${RollingFileMin}</minIndex>
        <maxIndex>${RollingFileMax}</maxIndex>
        <FileNamePattern>${LogPath}/${ApplicationName}.log.%i
        </FileNamePattern>
    </rollingPolicy>
    <triggeringPolicy
        class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <MaxFileSize>${RollingFileSize}</MaxFileSize>
    </triggeringPolicy>
  </appender>

我遇到的问题是更大的SOAP消息被切断了。

如何增加邮件大小,甚至更好地如何禁用单个邮件的大小限制,以免它被切断?

注意:我试图对此进行研究,但涉及邮件大小的任何内容都是指日志记录队列的总数。我不在乎,我关心信息的大小。

1 个答案:

答案 0 :(得分:0)

您使用什么应用程序服务器?

我遇到了与Tomcat相同的问题,并在 tomcat / bin / catalina.sh 中添加了以下属性,问题解决了。

JAVA_OPTS="$JAVA_OPTS \
-Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true \
-Dcom.sun.xml.internal.ws.transport.http.HttpAdapter.dump=true \
-Dcom.sun.xml.internal.ws.transport.http.HttpAdapter.dumpTreshold=1000000 \
-Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true \
-Dcom.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump=true \

如果您使用其他服务器,请尝试搜索这些属性,以便将它们插入服务器中的适当本地。