我正在尝试使用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消息被切断了。
如何增加邮件大小,甚至更好地如何禁用单个邮件的大小限制,以免它被切断?
注意:我试图对此进行研究,但涉及邮件大小的任何内容都是指日志记录队列的总数。我不在乎,我关心信息的大小。
答案 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 \
如果您使用其他服务器,请尝试搜索这些属性,以便将它们插入服务器中的适当本地。