記錄子系統
記錄子系統管理各種記錄檔,例如應用程式、指令集,以及通訊。
組態
記錄保留設定
資料類型
預設
註記
「以 KB 計的最大檔案大小」
INTEGER
100000
當大小達到或超過定義的大小時,下一個記錄事件會觸發檔案變換程序,變換至 ThingworxStorage > logs > archives 資料夾。
您可以在執行時間變更預設設定,以立即儲存變更。
最大大小為 1000000 KB。
「最大封存日數」
INTEGER
7
每日變換並非按時驅動,而是取決記錄檔事件到達時間。檔案會在每日午夜時自動變換 (以及只在記錄檔事件到達時變換),並移至 archives 資料夾。
依預設,若記錄檔留存在封存中的時間超過七天,系統會予以刪除。您可以將預設值變更為 1 天,或最多 90 天。
「啟用堆疊追蹤」
BOOLEAN
false
若啟用,則當 Java API 中 com.thingworx.logging.LogUtilities.logInstanceExceptionDetails 發生服務呼叫錯誤時,系統就會將相關聯的堆疊追蹤記錄到 ThingworxStorage > logs 資料夾的 ErrorLog.log 檔案中。這對在平台上偵錯很有幫助。
「啟用指令集堆疊追蹤」
BOOLEAN
true
如果指令集中發生錯誤,系統會將相關聯的堆疊追蹤記錄到 ThingworxStorage>logs 資料夾的 ScriptErrorLog.log 檔案中。這對由平台使用者建立的指令集的偵錯很有幫助。
* 
依預設,ThingWorx 平台上的指令集逾時設定為 30 秒。如果指令集的執行時間比該時間長,則平台會終止執行。ThingWorx 管理員可以在 platform-settings.json 組態檔案的基本設定部份中配置指令集逾時。另請參閱 platform-settings.json 組態詳細資訊
在 ThingWorx Platform 中,如果發生任何錯誤且錯誤持續存在,則會產生記錄並將其輸出到各自的記錄檔中,例如應用程式、指令集與資料庫。另外也可以發現,錯誤會持續較長時間,導致記錄檔充斥類似的記錄。
為了克服這種情況,引入了下列組態:
先決條件
將下列篩選器新增至 logback.xml 檔案。
<turboFilter class="com.thingworx.logging.RepetitiveLogFilterTest">
</turboFilter>
重複的記錄檔篩選器設定
資料類型
預設值
註記
「啟用記錄檔篩選」
BOOLEAN
false
啟用或禁用記錄篩選。
「快取大小」
INTEGER
2000
一次儲存唯一項目的快取大小。
「允許的重複」
INTEGER
10
可以記錄重複記錄的次數 (第一次出現不會重複計算)。
「寫入後過期秒數」
INTEGER
300
保留記錄允許的重複的持續時間 (以秒為單位)。
「包括欲篩選的封裝」
STRING
要包括以供篩選之封裝的逗號分隔清單。
* 
篩選記錄檔僅適用於「包括欲篩選的封裝」下已配置封裝的 ERROR 或 WARN 記錄檔。
「啟用記錄檔篩選」的值變更為 true,並將封裝名稱新增至「包括欲篩選的封裝」參數可啟用追蹤重複的錯誤或警告記錄檔。
上述組態參數的任何變更都會重設快取項目。已配置的封裝相關錯誤或警告記錄檔追蹤會重新啟動。
錯誤或警告記錄檔重複透過「允許的重複」組態參數進行追蹤。錯誤或警告記錄檔僅針對配置的值輸出。
錯誤或警告記錄檔輸出會在配置的重複計數之後暫停,直到「寫入後過期秒數」組態參數中提到的時間到期為止。
重複記錄檔詳細資訊的跳過計數與已記錄計數會與 DEBUG 層級記錄一起記錄。
您應該能夠透過逗號分隔清單配置封裝。將會追蹤所述封裝,以尋找錯誤或警告記錄檔。
「重複的記錄檔篩選器設定」需要「包括欲篩選的封裝」中所提及的完整封裝名稱。例如,com.thingworx.system.subsystems.filetransfer 可以接受,但 com.thingworx.system.subsystemscom.thingworx.system 則無法接受。
當將記錄層級設定為 DEBUG 或 TRACE 時,各記錄檔的記錄量會以指數方式增加。LoggingSubsystem 中引入了下列組態,可在上述間隔之後重設記錄層級:
記錄層級自動重設設定
資料類型
預設值 (秒)
註記
「全域追蹤重設間隔 (秒)」
整數
600
如果針對任何記錄檔 (例如 ApplicationLogScriptLog) 將預設記錄層級變更為 TRACE,則提及的時間間隔會作為計時器使用。計時器關閉後,記錄層級會重設回之前設定的層級。
「全域偵錯重設間隔 (秒)」
整數
600
如果針對任何記錄檔 (例如 ApplicationLog 與 ScriptLog) 將預設記錄層級變更為 DEBUG,則提及的時間間隔會作為計時器使用。計時器關閉後,記錄層級會重設回之前設定的層級。
「子記錄器偵錯重設間隔 (秒)」
整數
3600
如果將任何子記錄器封裝設定為 TRACE 層級,則提及的時間間隔會作為計時器使用。計時器關閉後,記錄層級會針對各自的子記錄器重設回預設記錄層級。
此組態有助於控制記錄量的指數方式增加。
「子記錄器追蹤重設間隔 (以秒計)」
整數
3600
如果將任何子記錄器封裝設定為 DEBUG 層級,則提及的時間間隔會作為計時器使用。計時器關閉後,記錄層級會針對各自的子記錄器重設回預設記錄層級。
此組態有助於控制記錄量的指數方式增加。
* 
如果 ThingWorx Platform 伺服器或所有節點重新啟動,則所述全域與子記錄器的重設間隔將會再次啟動。
針對重設功能,ALL 記錄層級與 TRACE 記錄層級具有相同的效果。它沒有單獨的計時器,並會遵循全域與子記錄器 TRACE 層級的間隔。
這是否有幫助?