spring boot 讀書筆記3-Spring Boot使用slf4j進行日誌記錄
阿新 • • 發佈:2022-03-01
建立logback.xml檔案
<configuration> <!-- 格式化輸出:%date表示日期,%thread表示執行緒名,%-5level:級別從左顯示5個字元寬度 %msg:日誌訊息,%n是換行符--> <property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" /> <!-- 定義日誌儲存的路徑,不要配置相對路徑 --> <property name="FILE_PATH" value="D:/logs/course03/demo.%d{yyyy-MM-dd}.%i.log" /> <!-- 控制檯輸出日誌 --> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <!-- 按照上面配置的LOG_PATTERN來列印日誌 --> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <!--每天生成一個日誌檔案,儲存15天的日誌檔案。rollingFile是用來切分檔案的 --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${FILE_PATH}</fileNamePattern> <!-- keep 15 days' worth of history --> <maxHistory>15</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!-- 日誌檔案的最大大小 --> <maxFileSize>10MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <!-- project default level --> <logger name="com.itcodai.course03" level="INFO" /> <!-- 日誌輸出級別 --> <root level="INFO"> <appender-ref ref="CONSOLE" /> <appender-ref ref="FILE" /> </root> </configuration>
配置application.yml
logging: config: logback.xml level: com.itcodai.course03.dao: trace
建立controller呼叫
package com.example.spring3.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class LogTest { private final static Logger logger = LoggerFactory.getLogger(LogTest.class); @RequestMapping("/log") public String testLog() { logger.debug("=====測試日誌debug級別列印===="); logger.info("======測試日誌info級別列印====="); logger.error("=====測試日誌error級別列印===="); logger.warn("======測試日誌warn級別列印====="); // 可以使用佔位符打印出一些引數資訊 String str1 = "www.baidu.com"; String str2 = "blog.csdn.net"; logger.info("======測試1:{};測試2:{}", str1, str2); return "success"; } }