Thymeleafの処理をログで出力する方法

Thymeleafの処理をログで出力する方法

Thymeleafの処理をログで出力するには、SpringBootのロギング機能を使用するのが一般的です。
Thymeleafのテンプレートエンジン自体には直接ログ出力の機能はありませんが、SpringBootのロギング設定を使って、テンプレートのレンダリングに関する情報をログに出力できます。

以下は、Thymeleafの処理をログで出力するための設定例です。

application.propertiesにログレベルの設定を追加する

logging.level.org.thymeleaf=DEBUG

これにより、Thymeleafの内部処理に関するデバッグ情報がログに出力されるようになります。

コントローラーでログを出力する

Thymeleafのテンプレートをレンダリングする際に、コントローラークラスでログを出力する方法もあります。
以下のようにLoggerを使ってログを出力できます。

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.ui.Model;

@Controller
public class MyController {

  private static final Logger logger = LoggerFactory.getLogger(MyController.class);

  @GetMapping("/example")
  public String example(@RequestParam(name = "name", required = false, defaultValue = "World") String name, Model model) {
    logger.debug("Thymeleafテンプレートをレンダリング中: name = {}", name);
    model.addAttribute("name", name);
    return "example";
  }
}

このように設定しておくことで、Thymeleafの処理やテンプレートレンダリングの際に、ログにデバッグ情報を出力することができます。