Мне действительно нужна помощь по работе с журналом log4j.Я никогда не работал с log4j прежде, и я наследую этот код.Когда выполняется вызов API, журнал выводится как на консоль, так и в файл журнала.Файл журнала корректен, но консоль получает сообщение об ошибке сначала в формате json (хотел!), А затем в текстовом формате по нескольким строкам (не хотел!).
Я прочитал другуюпосты в SO об этом, и я понимаю, я думаю, что это как-то связано с регистратором, отправляющим журнал по умолчанию в дополнение к appender.Большинство предложений говорят о таких вещах, как установка аддитивности к ложному и т. Д., Но у меня все это есть, и я все еще не могу удалить вторую, нежелательную, текстовую ошибку вывода.
Хотелось бы приветствоватьлюбые предложения!
<property name="FILE_PATH" value="/usr/local/tomcat/logs" />
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<timestamp/>
<version/>
<pattern>
<pattern>
{"date": "%date{dd MMM yyyy HH:mm:ss.SSS XX}", "class": "%c", "level": "%p", "thread": "%t", "message": "%m", "map": "%mdc"}
</pattern>
</pattern>
</providers>
</encoder>
</appender>
<appender name="FILE-AUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${FILE_PATH}/enrollment.log</file>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>[%date{dd MMM yyyy HH:mm:ss.SSS XX}] %c %p [%t] %m {%mdc}%n</Pattern>
</layout>
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<timestamp/>
<version/>
<pattern>
<pattern>
{"date": "%date{dd MMM yyyy HH:mm:ss.SSS XX}", "class": "%c", "level": "%p", "thread": "%t", "message": "%m", "map": "%mdc"}
</pattern>
</pattern>
</providers>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>${FILE_PATH}/archived/enrollment.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<!-- Send logs to both console and file audit -->
<logger name="com.package" level="info" additivity="false">
<appender-ref ref="FILE-AUDIT" />
<appender-ref ref="STDOUT" />
</logger>
<root level="info">
<appender-ref ref="FILE-AUDIT" />
<appender-ref ref="STDOUT" />
</root>