我想基于Severity过滤跟踪侦听器,如警告,错误等。
表示如果在配置文件中写入下面的侦听器并添加新属性“severityFilter”,则此侦听器将仅捕获警告和上述日志。
那么如何创建这个名为“severityFilter”bye code的新属性?
<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 Patel
答案 0 :(得分:1)
您无法向现有侦听器添加任意配置属性。侦听器属性在配置数据类中定义(在示例中为FormattedDatabaseTraceListenerData
)。如果要添加新配置属性,则必须创建自定义侦听器。
类别有一个SourceLevel
过滤器,可让您按严重程度进行全局过滤。但是如果你想在TraceListener的基础上进行,那么你应该升级到更新版本的Enterprise Library - 支持该功能。
另一个选项是自定义过滤器,但它作用于LogEntry
,因此也不依赖于TraceListener。