【SpringBoot】 logback 日誌的集成

SpringBoot 2020 核心知識點整理!

Logback 是由 log4j 創始人設計的又一個開源日誌組件。目前,logback 分爲三個模塊:logback-core,logback-classic 和 logback-access。是對 log4j 日誌展示進一步改進。

日誌的級別DEBUG < INFO < WARN < ERROR < OFF,級別越高、輸出日誌信息越少。

項目中日誌分兩類:

  • rootLogger:用來監聽項目中所有的運行日誌,包括引入依賴 jar 中的日誌。
  • logger:用來監聽項目中指定包中的日誌信息。

logback.xml 配置文件

logback 的配置文件必須放在項目根目錄中(webapp/logback.xml),且名字必須爲 logback.xml

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>

    <!--定義項目中日誌輸出位置-->
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <!--定義項目的日誌輸出格式-->
        <!--定義項目的日誌輸出格式-->
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern> [%p] %d{yyyy-MM-dd HH:mm:ss} %m %n</pattern>
        </layout>
    </appender>
    
    <!--項目中跟日誌控制-->
    <root level="INFO">
        <appender-ref ref="stdout"/>
    </root>
    
    <!--項目中指定包日誌控制-->
    <logger name="com.baizhi.dao" level="DEBUG"/>
    
</configuration>

具體類中使用日誌

@Controller
@RequestMapping("/hello")
@Slf4j // 自動聲明日誌對象
public class HelloController {
    //聲明日誌成員, 可使用 @Slf4j 代替
    // private static final Logger log = LoggerFactory.getLogger(HelloController.class);
    @RequestMapping("/hello")
    @ResponseBody
    public String hello(){
        System.out.println("======hello world=======");
        logger.debug("DEBUG");
        logger.info("INFO");
        logger.warn("WARN");
        logger.error("ERROR");
        return "hello";
    }
}

使用默認日誌配置

# 配置根日誌等級
logging.level.root=info
# 配置子日誌等級
logging.level.com.yusael.dao=debug
logging.level.com.yusael.controller=debug
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章