Отключение журнала Spring для чтения журналов
Как отключить журналы Spring, чтобы иметь записи журнала, которые я могу легко прочитать, или кто-то еще может читать.
Ответ на аналогичный вопрос в как отключить журнал загрузки Spring bean, предложил прокомментировать все строки, имеющие org.springframework
substring
в log4j.properties
file
. В моем случае таких строк нет.
Вот log4j.properties
# Define the root logger with appender file
log4j.rootLogger = DEBUG, stdout
# Define the file appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
# Set the name of the logs destination
log4j.appender.stdout.target=System.out
# Set the immediate flush to true (default)
log4j.appender.stdout.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.stdout.Threshold=debug
# Set the append to false, overwrite
log4j.appender.stdout.Append=false
# Define the layout for appender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.conversionPattern=%d{yyyy-MM-dd}:%m%n
Ответы
Ответ 1
Ваш журнал регистрации по умолчанию для всего, что явно не указано, DEBUG. Итак, все регистрируется на этом уровне (судя по вашей конфигурации), в основном вы наводняете свои журналы. Вам не следует удалять регистраторы для org.springframework, вы должны добавить их и установить для них еще один уровень.
log4j.logger.org.springframework=INFO
или любой уровень уровня журнала, который вам нравится.
Ответ 2
Прежде чем вы это сделаете, вы должны получить некоторые знания:
1.How to add maven dependency
2.Where to put log4j configuration file
ОК, вернитесь к вопросу. Верхний ответ не работает для spring 4.x, если вы используете spring4.x, попробуйте выполнить следующие шаги:
Теперь раздражающий журнал отладки spring уходит. Наслаждайтесь кодированием!
Ответ от spring.io doc, для начала нажмите здесь
Ответ 3
Вы можете указать требуемое имя пакета, как показано в следующем примере:
log4j.logger.com.foo=WARN
Теперь вы можете видеть только журналы WARN, ERROR и FATAL на консоли.
Ответ 4
Все ответы приводили примеры с конфигурацией в log4j.properties, что и было задано. У меня была та же проблема, но я использовал конфигурацию в log4j2.xml, и ответы здесь приводят меня к решению.
Если кто-то находится на той же лодке, что и я, вот что я сделал: я добавил регистратор node с именем org.springframework и уровнем WARN, как показано в следующем примере:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="org.springframework" level="WARN"/>
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
Я использую Spring Boot и исключение, которое я делаю, является logback-classic, как показано в следующем фрагменте:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
Ответ 5
Я тоже столкнулся с этой проблемой. Журналирование Springframework не удалялось даже после конфигурации log4j. Затем я обнаружил, что его ведение журнала зависит от общего доступа к журналам.
Вы должны отключить commons-logging
от зависимости в файле pom.xml веб-приложения.
Даже после удаления commons-logging
из pom.xml проверьте иерархию зависимостей, доступную в Eclipse или STS IDE. Это поможет узнать, как-то его добавление из-за какого-то другого управления зависимостями, о котором мы не можем знать.
После удаления зависимостей просто добавьте log4j.logger.org.springframework=ERROR
в конфигурацию log4j. Это поможет.