一、首先配置pom.xml 肯定日誌及相關依賴(用slf4j+logback代替jcl+log4j) spring
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dependency> <!-- 將現有的jakarta commons logging的調用轉換成lsf4j的調用。 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.5</version> </dependency> <!-- 將現有的log4j的調用轉換成lsf4j的調用。 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId> <version>1.7.12</version> </dependency> <!-- Hack:確保commons-logging的jar包不被引入,不然將和jcl-over-slf4j衝突 --> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.3</version> <scope>provided</scope> </dependency> <!-- slf4j的實現:logback,用來取代log4j。 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.0.13</version> <scope>runtime</scope> </dependency>
二、在classpath路徑中新建logback.xml文件,文件內容以下apache
<?xml version="1.0" encoding="UTF-8"?> <configuration> <property name="LOG_FILE" value="D:\\log\\dal.log" /> <property name="LOG_PATTERN" value="D:\\log\\pattern\\event.%d{yyyy-MM-dd}\L%d{dd}-%i.log" /> <property name="ENCODE" value="UTF-8" /> <property name="LOG_LEVEL" value="DEBUG"></property> <!-- trace日誌添加到控制檯 --> <appender name="TRACESTDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!-- Layout 負責把事件轉換成字符串,格式化的日誌信息的輸出。 --> <!-- 輸出格式 時間 進程 輸出級別 輸出信息 換行符 --> <target>System.out</target> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>TRACE</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern><![CDATA[ %d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n ]]></pattern> </layout> </appender> <!-- debug日誌添加到控制檯 --> <appender name="DEBUGSTDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!-- Layout 負責把事件轉換成字符串,格式化的日誌信息的輸出。 --> <!-- 輸出格式 時間 進程 輸出級別 輸出信息 換行符 --> <target>System.out</target> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>DEBUG</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern><![CDATA[ %d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n ]]></pattern> </layout> </appender> <!-- info日誌添加到控制檯 --> <appender name="INFOSTDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!-- Layout 負責把事件轉換成字符串,格式化的日誌信息的輸出。 --> <!-- 輸出格式 時間 進程 輸出級別 輸出信息 換行符 --> <target>System.out</target> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern><![CDATA[ %d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n ]]></pattern> </layout> </appender> <!-- warn及error信息添加到控制檯 --> <appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender"> <target>System.err</target> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>WARN</level> </filter> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern><![CDATA[ %d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n ]]></pattern> </layout> </appender> <!-- 滾動記錄文件,先將日誌記錄到指定文件,天天生成一個文件 30天週期歸檔 --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_FILE}</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_PATTERN}</fileNamePattern> <maxHistory>30</maxHistory> <TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <MaxFileSize>5MB</MaxFileSize> </TimeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern> </encoder> </appender> <logger name="org.apache"> <level value="INFO" /> </logger> <logger name="org.springframework"> <level value="INFO" /> </logger> <root> <!--設定全局日誌級別--> <level value="${LOG_LEVEL}" /> <appender-ref ref="TRACESTDOUT" /> <appender-ref ref="DEBUGSTDOUT" /> <appender-ref ref="INFOSTDOUT" /> <appender-ref ref="STDERR" /> <appender-ref ref="FILE" /> </root> </configuration>
三、啓動項目,如出現如下信息,表示logback日誌啓動成功api