本節內容衍生自以下連結的內容,並受 CC BY 4.0 授權約束。
如果沒有特別說明,以下內容可被視為基於原始內容進行修改和刪除的結果。
記錄輸出是向最終使用者顯示訊息的另一種方式。
Rspack 記錄器可供載入器和外掛使用。 作為統計資料的一部分發出,並由使用者在rspack 設定中設定。
Rspack 中自訂記錄 API 的優點
stats.json
的一部分匯出透過引入 Rspack 記錄 API,我們希望統一 Rspack 外掛和載入器發出記錄的方式,並允許更好地檢查建置問題。 整合式記錄解決方案透過改善開發體驗來支援外掛和載入器開發人員。 為非 CLI Rspack 解決方案(如儀表板或其他 UI)鋪路。
避免記錄中的雜訊!
請記住,多個外掛和載入器會一起使用。 載入器通常會處理多個檔案,並且會針對每個檔案調用。 請選擇盡可能低的記錄等級,以使記錄輸出具有參考價值。
有兩種記錄方法
compiler.getInfrastructureLogger
:內容不會儲存,當記錄在編譯週期之外時使用。您可以在外掛中使用它們,如下所示
您可以從載入器內容中取得記錄器,如下所示
類型: (...args: any[]): void;
方法根據記錄等級從高到低排序
error
:用於錯誤訊息。warn
:用於警告。info
:用於重要資訊訊息。 這些訊息預設會顯示。 僅將此用於使用者確實需要看到的訊息。log
:用於不重要的資訊訊息。 這些訊息僅在使用者選擇加入時才會顯示。debug
:用於偵錯資訊。 這些訊息僅在使用者選擇加入以查看特定模組的偵錯記錄時才會顯示。在使用 compilation.getLogger
時,輸出等級可以透過 stats.logging
和 stats.loggingDebug
來控制
在使用 compiler.getInfrastructureLogger
時,輸出等級可以透過 infrastructureLogging.level
和 infrastructureLogging.debug
來控制
當斷言為 false 時顯示錯誤。
error
assert(assertion: any, ...args: any[]): void;
顯示進度狀態資訊,如果存在 console.status
,則使用它,否則回退到 console.info
。
info
status(...args: any[]): void
顯示堆疊追蹤,僅在使用編譯記錄器時可用,也需要啟用 stats.loggingTrace
。
debug
trace(): void
清除所有記錄,就像 console.clear()
一樣。
log
clear(): void;
包括這些方法
group(...args: any[]): void
:將訊息分組。 以摺疊方式顯示,如 logger.log
。groupEnd(...args: any[]): void
:結束記錄群組。groupCollapsed(...args: any[]): void
:將訊息分組在一起。 以摺疊方式顯示,如 logger.log
。 當記錄等級設定為 'verbose'
或 'debug'
時,會展開顯示。包括這些方法
time(label: any): void
:啟動計時器。timeLog(label: any): void
:記錄時間差,而不會結束計時器。timeEnd(label: any): void
:結束計時器並記錄時間差。timeAggregate(label: any): void
:彙總擷取時間差。timeAggregateEnd(label: any): void
:結束彙總擷取並記錄總差異。包括這些方法
profile(label: any): void
:開始擷取設定檔。 在支援時委派給 console.profile
。profileEnd(label: any): void
:結束擷取設定檔。 在支援時委派給 console.profileEnd
。您也可以使用 logger.getChildLogger()
建立子記錄器。 子記錄器具有相同的方法。