tags: Bonita BPM
Part1:error、log
【Bonita BPM】Debug 除錯小技巧 - Part1:error、log
方法3:console.log()
-
適用情況:前端,用來print前端定義的變數的值
-
補充:除了用來查詢資料,也可以用來查詢資料型態,使用 typeof
console.log(typeof "輸入要測試的變數")
-
步驟1:另外創一個要用來測試的變數,不要寫在既有的變數中
- 理由是:前端的變數在initial前,有很多種type,例如:Javascript expression。若直接將console.log()寫在要print出來的變數的Javascript expression中,可能會造成console的error,因為變數都尚未initial完成,根本都還沒有"值",要如何console.log()或print出來呢?
-
步驟2:測試用的變數type選擇Javascript expression,並填入:
console.log("輸入要測試的變數1") console.log("輸入要測試的變數2") console.log("輸入要測試的變數3") ...
- Example
- Example
-
步驟3
- 變數與後端有關:執行流程後,F12 打開開發人員工具
- 變數與後端無關:直接按Preview,F12 打開開發人員工具
-
步驟4:選擇 Console,找到print出來的資料
方法4:Network
-
適用情況:前端、後端,
在前端有使用 External API 呼叫的變數,基本上都會於 Network 找到該封包 -
執行流程後,F12 打開開發人員工具,選擇 Network,找到該變數的封包
-
補充:該方法亦可用來查詢資料結構或資料的位置,
很多封包都是以JSON格式呈現,故可以透過該方法找尋需要資料的key為何 -
Example1
Name Value Type loggedUser …/API/system/session/1 External API - 結果:
- 結果:
-
Example2
Name Value Type state …/API/bpm/caseVariable/{{caseId}}/state External API - 結果:
- 結果:
方法5:Logger
- 適用情況:後端,輔助 方法2
- 要先引入:
import java.util.logging.Logger;
Logger logger= Logger.getLogger("org.bonitasoft"); logger.severe("輸入要print出來的資料");
- 執行流程後,到 log 檢查print結果:
-
因為
logger.severe()
會使log中顯示 “嚴重” 字樣,故直接去搜尋 “嚴重” 即可找到資料 -
加入一些關鍵字,例如:
"id:"+userId
,方便資料搜尋
-
沒有留言:
張貼留言