2011-10-13 22 views
0

我想基於像警告嚴重性來過濾跟蹤監聽器,錯誤等企業庫3.1 - 如何將新的配置屬性添加到偵聽器添加標籤?

意味着,如果下面聽衆寫在配置文件中,並添加新屬性「severityFilter」,那麼這個監聽器將只捕獲警告及以上的日誌。

那麼如何創建這個名爲「severityFilter」bye代碼的新屬性呢?

<add databaseInstanceName="DB1" writeLogStoredProcName="WriteLog" 
       addCategoryStoredProcName="AddCategory" formatter="Text Formatter" 
       listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Database.Configuration.FormattedDatabaseTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
       traceOutputOptions="None" type="Microsoft.Practices.EnterpriseLibrary.Logging.Database.FormattedDatabaseTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
      name="Database Trace Listener" severityFilter="Warning" /> 

感謝 Mitesh帕特爾

回答

1

你不能對現有的偵聽器添加任意的配置屬性。監聽器屬性在配置數據類中定義(在您的示例中爲FormattedDatabaseTraceListenerData)。如果你想添加新的配置屬性,你將不得不創建一個自定義偵聽器。

類別有一個SourceLevel過濾器,讓你全局過濾的嚴重性。但是如果你想在TraceListener的基礎上完成它,那麼你應該升級到更新版本的企業庫 - 該功能是受支持的。

另一個選項是自定義過濾器,但它作用於LogEntry,因此也不依賴於TraceListener。