Joh*_*n K 6 .net enterprise-library logging-application-block
什么是LogWriter.ShouldLog(..)基于的方法行为?或者它的使用目的是什么?它的文档页面相当稀疏,并没有提供太多的见解.引用它:
查询是否记录LogEntry shold [sic].
(在企业库的所有版本中都有相同的拼写错误,让我想知道作者是否非常关注它.)
这个方法对我来说似乎很空灵.我应该在登录前经常检查吗?
目前我只检查LogWriter.IsLoggingEnabled(..)哪个基于配置中的显式设置.这代表了一个具体方案:打开或关闭日志记录.
LogWriter.ShouldLog( LogEntry logEntry )根据LogEntry中的数据查询所有已配置的筛选器,以确定是否应记录特定的LogEntry.如果所有过滤器都返回true(对于ShouldLog),则在Write调用该方法时将记录LogEntry .虽然您可以创建自己的自定义过滤器,但开箱即用的过滤器包括Category,Priority和LoggingEnabled.
该IsLoggingEnabled相比之下检查只检查一个过滤器,而ShouldLog调用检查所有过滤器(包括IsLoggingEnabled).
调用的目的是允许开发人员在LogEntry不记录时避免昂贵的操作."昂贵"的含义取决于应用和要求.例如,在紧密循环中进行过多的字符串操作,或者可能是在进程外调用以检索某些信息(尽管这可能是缓存的一个很好的候选者!).
一般来说,ShouldLog除非有令人信服的理由否则我会避免打电话.
我可以想到几个原因:
ShouldLog因此如果您正在记录,则ShouldLog每次记录的消息都将调用两次| 归档时间: |
|
| 查看次数: |
1313 次 |
| 最近记录: |