pom.xml
spring
<!-- 日誌處理 --> <!-- Logback-classic module requires the presence of slf4j-api.jar and logback-core.jar in addition to logback-classic.jar on the classpath. --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.4</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.3</version> </dependency> <dependency> <groupId>org.logback-extensions</groupId> <artifactId>logback-ext-spring</artifactId> <version>0.1.2</version> </dependency> <!-- 日誌處理 -->
logback.xml
api
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" debug="false" scanPeriod="6 seconds"> <!-- scan: 當此屬性設置爲true時,配置文件若是發生改變,將會被從新加載,默認值爲true --> <!-- debug: 當此屬性設置爲true時,將打印出logback內部日誌信息,實時查看logback運行狀態。默認值爲false --> <contextName>logback</contextName> <!-- contextName: 設置日誌上下文名稱,能夠經過%contextName來打印日誌上下文名稱 --> <property name="log.path" value="/usr/local/importdata/" /> <!-- property能夠用來設置變量,能夠經過${name}來訪問 name,用於${name}訪問的key value,用於${name}訪問的value --> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <!--filter 日誌輸出攔截器,能夠自定義攔截器也能夠用系統一些定義好的攔截器 --> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>WARN</level> <!-- ThresholdFilter來過濾掉ERROR級別如下的日誌不輸出到文件中 --> </filter> <encoder> <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern> <!-- encoder和pattern節點組合用於具體輸出的日誌格式 --> </encoder> </appender> <!-- appender: 格式化日誌輸出節點,有倆個屬性name和class,class用來指定哪一種輸出策略,經常使用就是控制檯輸出策略和文件輸出策略 --> <!-- 用SizeAndTimeBasedRollingPolicy,配置子節點的maxFileSize來指定單個日誌文件的大小 --> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- file節點用來指明日誌文件的輸出位置,能夠是絕對路徑也能夠是相對路徑 --> <file>${log.path}</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern> <!-- 單個日誌文件最多 100MB, 60天的日誌週期,最大不能超過20GB --> <maxFileSize>100KB</maxFileSize> <maxHistory>7</maxHistory> <totalSizeCap>2MKB</totalSizeCap> <!-- <maxFileSize>100MB</maxFileSize> <maxHistory>60</maxHistory> <totalSizeCap>20GB</totalSizeCap> --> </rollingPolicy> <!-- rollingPolicy日誌回滾策略,在這裏咱們用了TimeBasedRollingPolicy,基於時間的回滾策略,有如下子節點 --> <encoder> <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n</pattern> </encoder> </appender> <root level="DEBUG"> <appender-ref ref="console" /> <appender-ref ref="file" /> </root> <!-- root節點,必選節點,用來指定最基礎的日誌輸出級別, 用來應用appender,格式化日誌輸出 --> <logger name="com.mysteel.importdata" level="DEBUG" /> <!-- logger節點,可選節點,用來具體指明包的日誌輸出級別,它將會覆蓋root的輸出級別 --> </configuration> <!-- × Debug × Info × Warn × Error × Fatal 一個等級比一個高 -->