
你想要開啟 Flowable 原生的日志調試功能以便查看引擎內部的執行過程、SQL 語句、命令執行等關鍵信息我會分「核心日志SQL/引擎流程」和「全量日志詳細調試」兩種場景給出 Spring Boot 項目中最完整的配置方式并說明關鍵日志類別和調試技巧。一、核心需求響應你需要在 Spring Boot 項目中開啟 Flowable 原生日志既能查看自定義 SQL 的執行詳情也能排查引擎內部的執行邏輯如命令執行、事務處理、流程解析等以下是分場景的配置方案。二、開啟 Flowable 原生日志Spring Boot 配置1. 基礎配置開啟 Flowable SQL 日志最常用如果僅需調試 Flowable 核心表的 SQL 執行包括你自定義的 XML/原生 SQL只需在application.yml/application.properties中添加 Flowable MyBatis 日志配置YAML 配置推薦flowable: # 開啟 Flowable 底層 MyBatis SQL 日志核心 mybatis: configuration: # 打印原生 SQL 語句 參數 執行結果 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 可選開啟 MyBatis 詳細日志如參數映射 log-prefix: FLOWABLE-SQL- cache-enabled: false # 關閉緩存便于調試 # 可選Flowable 引擎基礎日志非 SQL如流程部署/實例啟動 async-executor-activate: false # 測試環境關閉異步執行器日志更清晰 database-schema-update: true # 可選調整日志級別控制 Flowable 核心包的日志輸出 logging: level: # Flowable 核心引擎日志DEBUG 級別可看到命令執行、事務等 org.flowable.engine.impl: DEBUG # Flowable MyBatis 底層日志TRACE 級別可看到 SQL 解析 org.flowable.engine.impl.db: TRACE # 關閉無關日志避免干擾 org.springframework: INFO com.zaxxer.hikari: INFO org.flowable.db.mapping.entity: debug org.flowable: info cn.iocoder.yudao.flow.module.flow.mapper: DEBUGProperties 配置# 開啟 Flowable MyBatis SQL 日志 flowable.mybatis.configuration.log-implorg.apache.ibatis.logging.stdout.StdOutImpl flowable.mybatis.configuration.log-prefixFLOWABLE-SQL- flowable.mybatis.configuration.cache-enabledfalse # 調整 Flowable 核心日志級別 logging.level.org.flowable.engine.implDEBUG logging.level.org.flowable.engine.impl.dbTRACE2. 進階配置開啟 Flowable 全量原生日志深度調試如果需要排查 Flowable 引擎內部的詳細邏輯如流程解析、任務創建、事件觸發等需配置logging.level覆蓋 Flowable 核心包的日志級別logging: level: # Flowable 核心包日志級別 # 引擎核心命令執行、事務、流程實例操作- DEBUG 足夠 org.flowable.engine.impl: DEBUG # DB 層SQL 執行、表結構更新- TRACE 可看到 SQL 拼接 org.flowable.engine.impl.db: TRACE # 流程解析BPMN 文件解析、節點初始化 org.flowable.bpmn.parser: DEBUG # 任務管理任務創建/分配/完成 org.flowable.task.service: DEBUG # 歷史模塊歷史數據插入/查詢 org.flowable.history.service: DEBUG # 命令執行器executeCommand 執行過程 org.flowable.engine.impl.interceptor: DEBUG # 其他輔助配置 # MyBatis 底層Flowable 依賴 org.apache.ibatis: TRACE # 關閉無關日志 root: INFO org.springframework.web: INFO com.mysql.cj: INFO3. 日志輸出示例調試自定義 SQL 時開啟后控制臺會打印類似以下日志以你自定義的selectCustomTaskList為例FLOWABLE-SQL- Preparing: SELECT ID_ as id, NAME_ as name, ASSIGNEE_ as assignee, PROC_INST_ID_ as procInstId, DATE_FORMAT(CREATE_TIME_, %Y-%m-%d %H:%i:%s) as createTime FROM ACT_RU_TASK WHERE ASSIGNEE_ ? AND SUSPENSION_STATE_ 1 FLOWABLE-SQL- Parameters: zhangsan(String) FLOWABLE-SQL- Total: 2 FLOWABLE-SQL- Row: 1: id123, name審批任務, assigneezhangsan, procInstIdPROC-001, createTime2026-01-07 10:00:00 FLOWABLE-SQL- Row: 2: id456, name審核任務, assigneezhangsan, procInstIdPROC-002, createTime2026-01-07 11:00:00三、關鍵日志類別說明按需開啟日志包路徑日志級別輸出內容適用場景org.flowable.engine.implDEBUG引擎核心操作命令執行、事務、流程實例排查流程啟動/完成、命令執行異常org.flowable.engine.impl.dbTRACESQL 執行、表結構更新、參數映射調試自定義 SQL、排查 SQL 執行錯誤org.flowable.bpmn.parserDEBUGBPMN 文件解析、節點規則校驗排查流程定義解析失敗org.flowable.task.serviceDEBUG任務創建、分配、完成、刪除排查任務操作異常org.flowable.history.serviceDEBUG歷史數據插入、查詢、清理排查歷史數據未生成/查詢不到org.apache.ibatisTRACEMyBatis 底層 SQL 解析、參數綁定深度調試 SQL 執行細節四、調試技巧按需開啟日志級別僅調試 SQL只需開啟flowable.mybatis.configuration.log-implorg.flowable.engine.impl.dbTRACE調試引擎邏輯開啟org.flowable.engine.implDEBUG避免全局TRACE否則日志量過大影響性能且不易定位問題。排查自定義 SQL 執行失敗先看 SQL 日志是否打印出你編寫的 SQL 語句檢查參數是否正確傳遞Parameters行檢查表/字段名是否正確Flowable 核心表字段為ID_/NAME_等注意下劃線。日志輸出位置默認輸出到控制臺如需輸出到文件添加 Spring 日志文件配置logging: file: name: ./logs/flowable-debug.log # 日志文件路徑 pattern: file: %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n # 日志格式五、注意事項生產環境關閉調試完成后需將日志級別調回INFO/WARN避免大量日志影響性能和磁盤空間版本兼容上述配置適用于 Flowable 6.5.x 版本低版本6.4.x 及以下同樣適用僅部分日志包路徑略有差異沖突處理如果項目中同時配置了 MyBatis 自身的日志業務表Flowable SQL 日志和業務表 SQL 日志會分開打印互不影響。總結調試 Flowable 自定義 SQL優先開啟flowable.mybatis.configuration.log-implStdOutImplorg.flowable.engine.impl.dbTRACE可直接看到 SQL 執行詳情調試引擎內部邏輯補充開啟org.flowable.engine.implDEBUG查看命令執行、事務等流程日志級別按需調整生產環境務必關閉詳細日志僅保留 INFO/WARN 級別。