Ответ 1
Возможно, вы включили внутренний журнал log4j в вашем файле log4j.properties
или log4j.xml
.
Log4j использует класс, называемый LogLog, чтобы выполнять эти внутренние вызовы ведения журнала.
Вы можете отключить вывод LogLog, вызвав LogLog.setQuietMode(true)
.
Это необходимо установить перед первым вызовом log4j, который инициирует инициализацию. Обратите внимание, однако, что setQuietMode()
не только отключает вывод отладки, но также и предупреждения.
Поэтому я рекомендую вам использовать отдельную конфигурацию ведения журнала для своих тестов. Raedwald рассказал, как это сделать в ответе , с которым они связаны.
Вот пример файла log4j.xml
, который вы можете использовать. Обратите внимание на свойство debug="false"
. Однако не обязательно устанавливать это значение, поскольку значение по умолчанию false
.
Если вы используете maven, поместите файл в src/test/resources
, который гарантирует, что этот файл будет получен для тестов вместо основного файла конфигурации.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="false" xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
</layout>
</appender>
<root>
<level value="OFF"/>
<appender-ref ref="console"/>
</root>
</log4j:configuration>
Это эквивалентный файл log4j.properties
:
log4j.debug=false
log4j.rootLogger=OFF, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n