SpringBoot學習筆記(13):日誌框架
阿新 • • 發佈:2018-08-09
配置 沒有 alt clas load dep 技術 bubuko col
SpringBoot學習筆記(13):日誌框架——SL4J
快速開始
說明
SpringBoot底層選用SLF4J和LogBack日誌框架。
SLF4J的使用
SpringBoot的底層依賴關系
1.SpringBoot底層使用Slf4j+LogBack的方式進行日誌記錄。
2.SpringBoot將其他日誌框架替換成了SLF4J。
如果我們要引入其他框架,一定要把這個框架的默認日誌依賴移除掉!
比如SpringBoot基於Spring實現,但是將Spring的默認日誌框架移除了。
<dependency> <groupId>org.springframework</groupId> <artifactId>spring‐core</artifactId> <exclusions> <exclusion> <groupId>commons‐logging</groupId> <artifactId>commons‐logging</artifactId> </exclusion> </exclusions> </dependency>
SpringBoot能自動適配所有的日誌,而且底層使用slf4j+logback的方式記錄日誌,引入其他框架的時候,只需要把這個框架依賴的日誌框架排除掉即可;
默認設置
SpringBoot默認的情況下已經幫我們配置好了日誌。
//記錄器 Logger logger = LoggerFactory.getLogger(getClass()); @Test public void contextLoads() { //日誌的級別; //由低到高 trace<debug<info<warn<error //可以調整輸出的日誌級別;日誌就只會在這個級別以以後的高級別生效 logger.trace("這是trace日誌..."); logger.debug("這是debug日誌..."); //SpringBoot默認給我們使用的是info級別的,沒有指定級別的就用SpringBoot默認規定的級別;root logger.info("這是info日誌..."); logger.warn("這是warn日誌..."); logger.error("這是error日誌..."); }
修改默認配置
logging.level.com.atguigu=trace #logging.path= # 不指定路徑在當前項目下生成springboot.log日誌 # 可以指定完整的路徑; #logging.file=G:/springboot.log # 在當前磁盤的根路徑下創建spring文件夾和裏面的log文件夾;使用 spring.log 作為默認文件 logging.path=/spring/log # 在控制臺輸出的日誌的格式 logging.pattern.console=%d{yyyy‐MM‐dd}[%thread]%‐5level%logger{50}‐%msg%n # 指定文件中日誌輸出的格式 logging.pattern.file=%d{yyyy‐MM‐dd}===[%thread]===%‐5level===%logger{50}====%msg%n
關於file與path的說明:
兩者不可同時生效,並且相互沖突,具體情況如下表格所示:
關於日期輸出格式的說明:
日誌輸出格式: %d表示日期時間, %thread表示線程名, %‐5level:級別從左顯示5個字符寬度 %logger{50} 表示logger名字最長50個字符,否則按照句點分割。 %msg:日誌消息, %n是換行符 ‐‐> %d{yyyy‐MM‐dd HH:mm:ss.SSS} [%thread] %‐5level %logger{50} ‐ %msg%n
SpringBoot學習筆記(13):日誌框架