私は自分のアプリケーションのログインにlogbackを使用しています。ユニットテストを実行すると、クラスごとに印刷されます。「次のロガーセットがアクセスされた可能性があります」ログバック
SLF4J: The following set of substitute loggers may have been accessed
SLF4J: during the initialization phase. Logging calls during this
SLF4J: phase were not honored. However, subsequent logging calls to these
SLF4J: loggers will work as normally expected.
SLF4J: See also http://www.slf4j.org/codes.html#substituteLogger
SLF4J: com.kohls.kube.service.sdk.logging.CustomAppender
SLF4J: com.kohls.kube.service.sdk.logging.appender.mqtt.messaging.ClientMqttImpl
SLF4J: com.kohls.service.sdk.messaging.TCPMessager
SLF4J: com.kohls.service.sdk.logging.appender.mqtt.MQTTAppender
SLF4J: com.kohls.service.sdk.messaging.EdgeNodeMessager
SLF4J: com.kohls.service.sdk.messaging.SubscriptionTask
特定の場所で設定ファイルを探すようにログバックを設定しました。以下は、ログファクトリクラスの外観です。
public class LoggerFactory {
static {
System.setProperty("logback.configurationFile", System.getProperty("user.dir") + "\\" + "logbackConfig.xml");
}
private LoggerFactory() {
}
public static Logger getLogger(Class className) {
return org.slf4j.LoggerFactory.getLogger(className);
}
}
それから私は私の設定XMLファイル
private static Logger logger = LoggerFactory.getLogger(ClassName);
、などのロガーを取得しています以下のように見えます。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<statusListener class="ch.qos.logback.core.status.NopStatusListener"/>
<!-- Send debug messages to System.out -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- By default, encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<appender name="MQTT" class="com.kohls.service.sdk.logging.appender.mqtt.MQTTAppender">
<!-- By default, encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
<url>tcp://localhost:1883</url>
<clientId>MqttAppender</clientId>
<topic>log</topic>
</appender>
<!-- Send debug messages to a file at "c:/jcg.log" -->
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./UpdaterLog.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0} - %msg%n</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<FileNamePattern>./archive.%i.log.zip</FileNamePattern>
<MinIndex>1</MinIndex>
<MaxIndex>10</MaxIndex>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>2MB</MaxFileSize>
</triggeringPolicy>
</appender>
<!-- By default, the level of the root level is set to DEBUG -->
<root level="DEBUG">
<!--<appender-ref ref="MQTT"/>-->
<!--<appender-ref ref="FILE"/>-->
<appender-ref ref="STDOUT"/>
</root>
</configuration>
どこにも他のXMLがないことを確認しました。これだけがそこにあります。私はここで間違って何をしていますか?なぜ私はこの警告を受け続けていますか?ご意見をお聞かせください。
SLF4Jとログバックのどちらのバージョンを使用していますか? – Ceki