1.在application.properties配置文件中追加
# log配置 自動按天切割日志 #level.指定root是所有目錄,也可以指定包命名空間,value是記錄日志的等級,從低到高,如果記錄的等級低於當前配置的等級,日志就不會被記錄 logging.level.root=debug # 文件相對位置以及文件名,網上教程配置文件路徑logging.file,我現在用的不推薦那樣設置 logging.file.name=logs/web.log # 日志文件保存天數 logging.file.max-history=1024
2.在需要記錄的類中加入
package com.example.demo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; //import org.springframework.web.bind.annotation.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; //@Controller @RestController public class SoupDataSource { // 初始化對象,參數SoupDataSource為當前調用日志的類名 public static final Logger LOGGER = LoggerFactory.getLogger(SoupDataSource.class); @RequestMapping("/hehe") public String gg(){ LOGGER.debug("This is a debug message");//注意 spring 默認日志輸出級別為 info 所以默認情況下 這句不會打印到控制台 LOGGER.info("This is an info message"); LOGGER.warn("This is a warn message"); LOGGER.error("This is an error message"); return "hello"; } }
3.訪問/hehe后在項目根目錄下 logs/web.log可以看到記錄的日志,過去當前天之后日志會自動切割
備注:
mall4j 電商項目中描述了把日志封裝為注解(沒有測試實踐,並不太理解),這樣就能夠精簡代碼了吧
參考:
https://blog.csdn.net/lchq1995/article/details/80080642 springboot日志輸出到文件
https://m.imooc.com/qadetail/229203 Spring Boot支持日志文件按日期切分嗎?
https://blog.csdn.net/qtdywp/article/details/84940537 Spring Boot:配置logging日志及輸出日志
https://gitee.com/gz-yami/mall4j mall4j 電商商城系統