Мы пытаемся регистрировать сообщения журнала Axis2 SOAP с помощью logback и следующей конфигурации:
<!-- Axis client appender -->
<appender name="AxisLogging" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<OnMatch>ACCEPT</OnMatch>
<OnMismatch>NEUTRAL</OnMismatch>
</filter>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
<OnMatch>ACCEPT</OnMatch>
<OnMismatch>NEUTRAL</OnMismatch>
</filter>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>TRACE</level>
<OnMatch>ACCEPT</OnMatch>
<OnMismatch>DENY</OnMismatch>
</filter>
<File>log/axis-client.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<FileNamePattern>log/axis-client.%i.log</FileNamePattern>
<MinIndex>1</MinIndex>
<MaxIndex>5</MaxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>100MB</MaxFileSize>
</triggeringPolicy>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>[%date{yyyy-MM-dd HH:mm:ss.SSS zZ}] %-5level [%mdc{requestsite}] [%mdc{session.id}] "%thread" %msg %ex%n</Pattern>
</layout>
</encoder>
</appender>
<logger name="httpclient.wire.content">
<appender-ref ref="AxisLogging"/>
</logger>
И сообщения журнала длинного запроса, и ответный XML усекаются до 4000 символов и распространяются через несколько строк журнала.
Есть ли способ настроить logback для регистрации всего XML в одной строке?
Спасибо!