2020年4月12日 星期日

SpringBoot的日誌(logging)機制


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




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

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

沒有留言:

張貼留言