在關鍵路徑中,保留低階偵錯/追蹤日誌語句很有價值。這些可以透過運行時配置來啟用,從而允許它們在生產中關閉(以避免效能損失),同時在生產環境中啟用它們(例如用於調試或測試)。
這種方法要求在關鍵路徑上遇到禁用日誌語句的成本必須極低,最好只是布林檢查。
與 C/C 不同的 LOG 宏,Go 的日誌記錄沒有提供一種方法來避免在檢查標誌之前評估參數。這對避免禁用日誌時的效能損失提出了挑戰。
最佳方法取決於應用程式的特定需求。對於運行時可配置跟踪,EnabledLogger 模式或動態記錄器交換是合適的。為了最小化開銷和簡潔的語法,將記錄器指派給 bool 變數可能是有效的。程式碼生成為單獨的調試構建提供了解決方案。
以上是如何在 Go 中實現禁用追蹤日誌記錄的最小開銷?的詳細內容。更多資訊請關注PHP中文網其他相關文章!