logback のログ出力で最初に以下の余計なログが出力される場合の抑制
13:29:48,061 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.4.6 13:29:48,088 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml] 13:29:48,091 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/D:/pleiades/pleiades_202212/workspace/sample/target/classes/logback.xml] 13:29:48,143 |-WARN in ch.qos.logback.classic.joran.action.LevelAction - <level> element is deprecated. Near [level] on line 19 13:29:48,143 |-WARN in ch.qos.logback.classic.joran.action.LevelAction - Please use "level" attribute within <logger> or <root> elements instead. 13:29:48,176 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [STDOUT] 13:29:48,176 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] 13:29:48,182 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property 13:29:48,206 |-WARN in ch.qos.logback.core.model.processor.AppenderModelHandler - Appender named [STDOUT_DEBUG] not referenced. Skipping further processing. 13:29:48,206 |-INFO in ch.qos.logback.classic.model.processor.LevelModelHandler - org.labo level set to DEBUG 13:29:48,206 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [STDOUT] to Logger[org.labo] 13:29:48,207 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@23bb8443 - End of configuration. 13:29:48,207 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@1176dcec - Registering current configuration as safe fallback point
logback のマニュアル:Chapter 3: Logback configuration に書いてあるのですが、
https://logback.qos.ch/manual/configuration.html#logback.statusLC
これを出力しないようにするには statusListener に NopStatusListener を割り当てます。
以下のように、logback.xml で、<configuration> に、
<statusListener class="ch.qos.logback.core.status.NopStatusListener" />
を記述します。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE logback> <configuration> <statusListener class="ch.qos.logback.core.status.NopStatusListener" /> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <Target>System.out</Target> <encoder> <Pattern>%-23d{yyyy/MM/dd HH:mm:ss.SSS} %-5p [%thread][%class#%method]%m%n</Pattern> </encoder> </appender> <appender name="STDOUT_DEBUG" class="ch.qos.logback.core.ConsoleAppender"> <Target>System.out</Target> <encoder> <Pattern>%-23d{yyyy/MM/dd HH:mm:ss.SSS} %-5p [%thread][%class#%method:%line]%m%n</Pattern> </encoder> </appender> <logger name="org.sample"> <level value="debug" /> <appender-ref ref="STDOUT" /> </logger> </configuration>
検証した logback 使用のpom.xml の dependency
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.4.6</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.4.6</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>2.0.7</version> </dependency>