slf4j+logback+spring配置
阿新 • • 發佈:2018-12-10
說明:
slf4j僅僅是日誌系統的框架,只服務於各種日誌系統(log4j、logback和java.util.logging等)。slf4j就好像是介面或者抽象類,而各種日誌系統則是其實現類。
logback
——具體的日誌系統
為什麼選擇logback而不是log4j:
1)logback更快
2)配置相比之下更簡單
專案使用spring+springmvc+mybatis傳統框架
pom.xml配置檔案加入:
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> <!-- logback擴充套件包,監聽,用於解決與spring的結合 --> <dependency> <groupId>org.logback-extensions</groupId> <artifactId>logback-ext-spring</artifactId> <version>0.1.5</version> </dependency>
logback配置檔案如下:
<?xml version="1.0" encoding="UTF-8" ?> <configuration scan="true" scanPeriod="3 seconds"> <!-- 日誌地址 --> <property name="LOG_DIR" value="${catalina.home}/logs/" /> <property name="APP_NAME" value="ctsimdm" /> <property name="MAX_HISTORY" value="90"/> <!-- 控制檯輸出日誌 --> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> <encoder charset="UTF-8"> <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{26} - %msg%n</Pattern> </encoder> </appender> <!-- 檔案輸出日誌(Default) --> <appender name="default-log-file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${LOG_DIR}/${APP_NAME}-today.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_DIR}/${APP_NAME}-%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>${MAX_HISTORY}</maxHistory> </rollingPolicy> <encoder charset="UTF-8"> <Pattern>[%d{HH:mm:ss}] [%thread] |%level| %marker %logger{50} -> %X{rpid} %msg %n%ex</Pattern> </encoder> </appender> <root> <level value="DEBUG"/> <appender-ref ref="stdout"/> <appender-ref ref="default-log-file"/> </root> </configuration>
mybatis.xml配置加入
<settings>
<setting name="logImpl" value="SLF4J"/>
</settings>
web.xml配置加入
<!-- 載入logback配置檔案 --> <context-param> <param-name>logbackConfigLocation</param-name> <param-value>classpath:logback/logback.xml</param-value> </context-param> <listener> <listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class> </listener>