IDEA編輯Spring-Boot Web,設定日誌級別,並列印到相應的目錄下。
阿新 • • 發佈:2018-12-09
我使用的日誌框架是logback。我們的目的是把INFO日誌和ERROR分開到不同的檔案中,並且能夠每日形成一個日誌檔案。
第一步,使用idea建立一個Spring-Boot的專案
一直預設,有關SpringBoot基礎建立都不清楚的話,可以先去看看入門教程,到這步的時候選擇web就行。
建立成功
第一步,在resources下面新建一個xml檔案,檔名是logback-spring.xml,內容如下。需要替換的只需要替換一下路徑的儲存地址。
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern> %d - %msg%n </pattern> </layout> </appender> <!--每天生成一個日誌檔案--> <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!--根據範圍來過濾--> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>DENY</onMatch> <onMismatch>ACCEPT</onMismatch> </filter> <encoder> <pattern> %msg%n </pattern> </encoder> <!--每日迴圈策略,每天一個日誌檔案--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--路徑--> <fileNamePattern> /Users/Cdy1234/Desktop/project/info.%d.log </fileNamePattern> </rollingPolicy> </appender> <!--每天生成一個日誌檔案--> <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!--根據範圍來過濾--> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> </filter> <encoder> <pattern> %msg%n </pattern> </encoder> <!--每日迴圈策略,每天一個日誌檔案--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--路徑--> <fileNamePattern> /Users/Cdy1234/Desktop/project/error.%d.log </fileNamePattern> </rollingPolicy> </appender> <root level="info"> <appender-ref ref="consoleLog"/> <appender-ref ref="fileInfoLog"/> <appender-ref ref="fileErrorLog"/> </root> </configuration>
生成效果檔案如下
想要測試的同學可以自己寫一下測試檔案。
在test檔案中增加一個測試類。這裡用到了@Slf4j,不懂的可以直接百度一下,我這裡就不多解釋。
package com.chuzhong; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; /** * Created by Cdy1234 on 2018/9/13. */ @RunWith(SpringRunner.class) @SpringBootTest @Slf4j public class LoggerTest { // private final Logger logger= LoggerFactory.getLogger(LoggerTest.class); @Test public void test1(){ // logger.debug("debug..."); // logger.info("info..."); // logger.error("error"); String name="imooc"; String password="12344"; log.debug("debug..."); log.info("name={},password={}",name,password); log.error("error.."); } }