站長留言

  • ✅ 本站維護及更新歷史紀錄,詳情請參考公告
  • ✅ 有任何意見、想法,歡迎留言給Spicy知道喔
  • ✅ 固定於每周一至周五更新Blogger文章,周末不定期
程式Bonita BPM

【Bonita BPM】Debug 除錯小技巧 - Part2:Console、Network、Logger

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
  • 步驟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,方便資料搜尋

沒有留言:

張貼留言

本網站建議使用電腦或平板瀏覽