2020年4月12日 星期日

SpringBoot的日誌(logging)機制


Java常見的幾種日誌(logging) API關係如下:




因為日誌API的實作不止一種,常見程式手法為依賴抽象層「slf4j」,再以設定的方式抽換實作。Spring Boot專案預設實作為「logback」,將在執行時期自動注入。
使用方式如:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Controller
public class HomeController {
    Logger logger = LoggerFactory.getLogger(HomeController.class);
    @RequestMapping(value = { "/", "/homepage" }, method = GET)
    public String home() {
        testLogLevel();
        return "home";
    }
    private void testLogLevel() {
        logger.trace("A TRACE Message");
        logger.debug("A DEBUG Message");
        logger.info("An INFO Message");
        logger.warn("A WARN Message");
        logger.error("An ERROR Message");
    }
}
相關日誌紀錄的設定(application.properties)為:
# Core properties(logging)
logging.level.com.rwd=debug
logging.file=D:/springBoot4War.log
#logging.pattern.console= %d{yyyy-MM-dd HH:mm:ss} - %logger{36} - %msg%n
#logging.pattern.file= %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%

沒有留言:

張貼留言