Я не могу понять, почему log4j добавляется дважды в разных форматах. Кто-нибудь сталкивался с этим раньше?
Вот мой файл log4j.xml:
<log4j:configuration>
<appender name="async" class="org.apache.log4j.AsyncAppender">
<!-- this parameter need to be set to false to avoid application from hanging. -->
<param name="Blocking" value="false" />
<appender-ref ref="myAppender" />
</appender>
<appender name="myAppender" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="INFO" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %d{ISO8601} [%t] %c %x - %m%n" />
</layout>
</appender>
<logger name="com.server">
<level value="INFO" />
</logger>
<logger name="org.springframework">
<level value="INFO" />
</logger>
<logger name="org.hibernate.LazyInitializationException" additivity="false">
<level value="off" />
<appender-ref ref="async" />
</logger>
<logger name="net.sf.ehcache">
<level value="INFO" />
</logger>
<logger name="com.mchange">
<level value="INFO" />
</logger>
<root>
<priority value="INFO" />
<appender-ref ref="async" />
</root>
</log4j:configuration>
И вот несколько примеров:
INFO 2016-08-26 11:01:38,353 [main] com.server.Server - Server started successfully...
11:01:38,353 INFO : Server started successfully...
EDIT: Когда я изменяю порог приложения myAppender на "ERROR", отображается второе сообщение журнала ( "Начало, начинающееся со времени, а не" INFO "). Есть ли какой-то логгер по умолчанию, который мне нужно отключить? Кажется, что что-то все еще регистрирует сообщения уровня" INFO", хотя указанный appender для сообщений уровня "ERROR". Кроме того, если я прокомментирую весь файл log4j.xml, все еще регистрируется второе сообщение журнала (и все подобное). Как я могу это предотвратить? Спасибо!