如果我通过像这样添加maven依赖项将Logback和Slf4j添加到我的Spring MVC(版本4.1.0)项目中:
如果我排除commons-logging依赖项,那么在日志文件中,除了应用程序日志之外,还会记录一些Spring事件的INFO级别。
如果我在pom.xml中添加依赖项但没有添加jcl-over-slf4j,并且没有排除commons-logging,则只会生成应用程序日志。
以下是我的logback.xml:
<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>
如果我排除commons-logging依赖项,那么在日志文件中,除了应用程序日志之外,还会记录一些Spring事件的INFO级别。
[RMI TCP Connection(4)-127.0.0.1][org.springframework.web.context.ContextLoader] - Root WebApplicationContext: initialization started
如果我在pom.xml中添加依赖项但没有添加jcl-over-slf4j,并且没有排除commons-logging,则只会生成应用程序日志。
以下是我的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>
据我所知,当我不使用JCL桥接器时,logback无法捕获或翻译JCL spring内部日志。如果我错了,请纠正我。
我能否配置logback.xml以获取没有JCL桥接器的标准spring日志事件?