データ 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.RuntimeConfigValidatorAzure.DataApiBuilder.Coredefault
Example configuration
{
"runtime": {
"telemetry": {
"log-level": {
"Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator": "Debug",
"Azure.DataApiBuilder.Core": "Information",
"default": "Warning"
}
}
}
}
この例では:
-
RuntimeConfigValidatorクラスのログは、Debugレベルで表示されます。 -
Azure.DataApiBuilder.Coreの他のクラスでは、Informationレベルを使用します。 - その他のすべてのログは、既定で
Warningレベルです。
Hot-reload support
アプリケーションを再起動することなく、開発モードと運用モードの両方でログ レベルを動的に更新 (ホット リロード) できます。 これにより、問題のトラブルシューティングを行うために、その場でログ記録を調整できます。
フィルター処理の重要な名前空間
フィルター処理する一般的な名前空間/クラスを次に示します。
Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidatorAzure.DataApiBuilder.Core.Resolvers.SqlQueryEngineAzure.DataApiBuilder.Core.Resolvers.IQueryExecutorAzure.DataApiBuilder.Service.HealthCheck.ComprehensiveHealthReportResponseWriterAzure.DataApiBuilder.Service.Controllers.RestControllerAzure.DataApiBuilder.Auth.IAuthorizationResolverMicrosoft.AspNetCore.Authorization.IAuthorizationHandlerdefault