PVM 支援 JDK Logging (java.util.logging) 與 Log4j 兩種日誌框架,啟動時按優先級自動檢測:
logging.properties(使用 Context ClassLoader),啟用 JDK Logging 並載入該配置org.apache.log4j.LogManager),自動切換至 Log4jPVM 類別使用自身完整類名作為日誌分類器。建議開啟 DEBUG 級別以獲取核心執行流資訊;TRACE 級別輸出過於詳細,通常僅用於深度問題排查。
JDK Logging 級別映射:DEBUG → FINE,TRACE → FINEST。框架提供 org.jbpm.pvm.internal.log.LogFormatter 格式化器,支援單行輸出與線程唯一標識。常用配置範例:
handlers = java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = FINEST
java.util.logging.ConsoleHandler.formatter = org.jbpm.pvm.internal.log.LogFormatter
.level = SEVERE
org.jbpm.level = FINE
org.jbpm.tx.level = FINE
org.jbpm.pvm.internal.wire.level = FINE
排查 Hibernate 相關問題時,以下配置極具價值:
# 顯示執行的 SQL 語句與參數綁定值
org.hibernate.SQL.level = FINEST
org.hibernate.type.level = FINEST
# Hibernate 內部配置(hibernate.cfg.xml 中)
hibernate.jdbc.batch_size = 0 # 禁用批處理,定位異常行
hibernate.show_sql = true # 控制台輸出 SQL
hibernate.format_sql = true # 格式化 SQL 易讀性
hibernate.use_sql_comments = true # 包含註釋資訊
遇到 Hibernate 異常時,將批處理大小設為 0 可精確定位失敗的具體 SQL 語句。