библиотека предприятия 3.1 - как добавить новое свойство конфигурации в тег добавления слушателя? - PullRequest
0 голосов
/ 13 октября 2011

Я хочу отфильтровать прослушиватель трассировки на основе серьезности, такой как предупреждение, ошибка и т. Д.

Означает, что если в конфигурационном файле записать ниже слушателя и добавить новое свойство "severityFilter", то этот слушатель будет перехватывать только журналы предупреждений и выше.

Так как же создать это новое свойство с именем "severityFilter" пока?

  <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" />

Спасибо Митеш Патель

1 Ответ

1 голос
/ 14 октября 2011

Вы не можете добавить произвольные свойства конфигурации для существующих слушателей. Свойства слушателя определены в классе данных конфигурации (в вашем примере FormattedDatabaseTraceListenerData). Если вы хотите добавить новые свойства конфигурации, вам придется создать пользовательский прослушиватель.

Категории имеют фильтр SourceLevel, который позволяет вам глобально фильтровать по серьезности. Но если вы хотите сделать это на основе TraceListener, вам следует перейти на более новую версию Enterprise Library - эта функция поддерживается.

Другим вариантом является пользовательский фильтр, но он действует на LogEntry, поэтому также не зависит от TraceListener.

...