【发布时间】:2011-08-27 22:52:29
【问题描述】:
我们正在使用 Enterprise Library 4.1 进行日志记录(以及异常处理/加密)。
有人知道在运行时确定配置的日志记录级别的好方法吗?我编写了一个 LogUtility 类来进行日志记录调用,并按照此示例调用它:
LogUtility.LogVerbose(
string.Format("Processing event {0}", currentEvent.EventIDImported),
MethodBase.GetCurrentMethod().Name,
this.GetType().Name
);
我知道它实际上不会被记录到文件中,除非日志记录级别设置为适当的级别,在我的例子中是 app.config。但我真的不希望评估方法参数,即方法和类型名称,以及在某些情况下记录的实际字符串,除非绝对必要。
这似乎是一个有效的担忧吗?我们的应用程序可以有数千万次迭代和日志记录点。如果可能的话,我想根据配置的日志级别设置一个标志,并在进行上述方法调用之前进行检查。
编辑-我想就上面的示例而言,我可以在每次调用时对方法和类型名称进行硬编码。不过我还是想知道有没有办法确定等级。
【问题讨论】:
-
这确实是一个值得关注的问题。
标签: c# logging enterprise-library