共用方式為


使用篩選的記錄層級

數據 API 產生器 (DAB) 支援可自訂、篩選的記錄層級,以協助您控制記錄的詳細資訊和焦點。 這可讓您取得特定元件的詳細診斷,同時讓其他區域保持安靜,改善偵錯和監視體驗。

記錄設定是在組態的 區段中設定。runtime.telemetry.log-level 您可以全域指定記錄層級,或以特定命名空間或類別為目標,以進行更細緻的控制。

記錄層級優先順序

  • 最特定的命名空間或類別名稱優先。

  • 索引 default 鍵會設定未明確列出之所有其他元件的基底層級。

  • 如果省略,DAB 會根據主機模式使用預設層級:

    • development 模式預設為 Debug (詳細資訊)
    • production 模式預設為 Error (較不詳細)

支援的記錄層級

  • Trace:擷取最詳細且更細緻的資訊,通常僅適用於深入疑難解答或了解程式中的每個步驟。
  • Debug:提供用於診斷問題並在開發期間瞭解流程的詳細資訊。
  • Information:記錄描述一般作業和里程碑的高階事件。
  • Warning:指出未停止處理但可能需要注意的未預期情況或次要問題。
  • Error:記錄失敗,導致作業無法順利完成,但不會當機系統。
  • Critical:回報導致系統或主要功能失敗且需要立即介入的嚴重問題。
  • None:停用記錄以隱藏目標類別或元件的所有訊息。

支援命名空間名稱的部分相符專案,但必須以 . 分隔符結尾。 For example:

  • Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator
  • Azure.DataApiBuilder.Core
  • default

Example configuration

{
  "runtime": {
    "telemetry": {
      "log-level": {
        "Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator": "Debug",
        "Azure.DataApiBuilder.Core": "Information",
        "default": "Warning"
      }
    }
  }
}

在此範例中:

  • 類別 RuntimeConfigValidator 中的記錄會顯示在 Debug 層級。
  • 使用Information層級下Azure.DataApiBuilder.Core的其他類別。
  • 所有其他記錄預設為 Warning 層級。

Hot-reload support

您可以在開發和生產模式中動態更新記錄層級(熱重載),而不需重新啟動應用程式。 這有助於即時調整記錄,以針對問題進行疑難解答。

篩選的重要命名空間

您可能要篩選的一些常見命名空間/類別:

  • Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator
  • Azure.DataApiBuilder.Core.Resolvers.SqlQueryEngine
  • Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor
  • Azure.DataApiBuilder.Service.HealthCheck.ComprehensiveHealthReportResponseWriter
  • Azure.DataApiBuilder.Service.Controllers.RestController
  • Azure.DataApiBuilder.Auth.IAuthorizationResolver
  • Microsoft.AspNetCore.Authorization.IAuthorizationHandler
  • default