Wenn ich hinzufügen Logback und SLF4J meiner Spring MVC (Version 4.1.0) Projekt von Maven Abhängigkeiten wie folgt ergänzt:Spring + Logback (slf4j) Protokollierung ohne JCL-over-slf4j
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.21</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.7</version>
<scope>runtime</scope>
</dependency>
und verstehen sich inklusive commons -Protokollierung Abhängigkeit, erhalte ich dann in Protokolldatei, zusätzlich zu den Anwendungsprotokollen, einige Frühjahr Ereignisse INFO Ebene wie:
[RMI TCP Connection(4)-127.0.0.1][org.springframework.web.context.ContextLoader] - Root WebApplicationContext: initialization started
Wenn ich Abhängigkeiten ohne JCL-over-slf4j hinzuzufügen und ohne commons-logging in pom ohne .xml, dann bekomme ich nur Anwendungsprotokolle.
Das ist mein logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_HOME" value="logs" />
<property name="APP_NAME" value="App" />
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<pattern>%-5level %d{yyyy-MM-dd HH:mm:ss.SSS} %thread %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_HOME}/${APP_NAME}.log.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<pattern>%-5level %d{yyyy-MM-dd HH:mm:ss.SSS} %thread %logger{50} - %msg%n</pattern>
</encoder>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
<logger name="org.springframework" level="INFO" appender-ref="FILE"/>
</configuration>
wie ich es verstehe, dies geschieht, weil, wenn ich nicht den JCL-Brücke verwenden logback nicht innere Protokolle JCL Frühling fangen oder übersetzen. Bitte korrigiere mich, wenn ich falsch liege.
Kann ich logback.xml konfigurieren, um Standart-Spring-Log-Ereignisse ohne JCL-Bridge zu erhalten?