IDiagnosticsLogger 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
合併ILogger並DiagnosticSource供所有 EF Core 日誌使用,讓事件能同時傳送給 ILogger ASP.NET 及DiagnosticSource其他所有系統。
public interface IDiagnosticsLogger
type IDiagnosticsLogger = interface
Public Interface IDiagnosticsLogger
- 衍生
備註
服役期間為 Singleton。 這表示單一實例會被多個 DbContext 實例使用。 實作必須是執行緒安全的。 此服務無法依賴於註冊為 Scoped的服務。
更多資訊與範例請參見 資料庫提供者與擴充功能的實作 。
屬性
| 名稱 | Description |
|---|---|
| DbContextLogger | |
| Definitions |
快取以取得日誌定義。 |
| DiagnosticSource | |
| Interceptors |
存放註冊攔截機(如果有的話)。 |
| Logger |
底層 ILogger的 。 |
| Options |
Entity Framework 日誌選項。 |
方法
| 名稱 | Description |
|---|---|
| DispatchEventData(EventDefinitionBase, EventData, Boolean, Boolean) |
若啟用,則將 EventData 分配給 ,若啟用則派遣 DiagnosticSource。IDbContextLogger |
| NeedsEventData(EventDefinitionBase, Boolean, Boolean) |
根據給定事件是否有 a DiagnosticSource 或 IDbContextLogger enabled 來判斷是否需要實EventData例。 |
| NeedsEventData<TInterceptor>(EventDefinitionBase, TInterceptor, Boolean, Boolean) |
根據給定事件是否存在 DiagnosticSource、 、 IDbContextLogger或 IInterceptor 啟用,判斷是否需要實EventData例。 |
| ShouldLog(EventDefinitionBase) |
檢查訊息是否應該傳送到 ILogger. |
| ShouldLogSensitiveData() |
會獲得一個值,指示是否應該將敏感資訊寫入底層記錄器。 這也帶來副作用,就是在首次記錄敏感資料時,會寫入警告。 |