如何确保Enterprise Library Logger.Write()有效?

时间:2013-07-23 12:19:13

标签: c# asp.net-mvc exception exception-handling enterprise-library

我正在使用Enterprise Library 5.0进行日志记录机制。我正在使用平面文件和数据库侦听器。我想确保将错误记录到数据库中,并且在执行相同操作时发生某些错误时,错误应自动开始登录到平面文件。我想我们需要在发生异常时自动切换到平面文件记录。

loggingConfiguration name="Logging" tracingEnabled="true" defaultCategory="DatabaseLogging"

但我相信defaultCateogory是该部分的只读属性。我怎么能以编程方式做到这一点?

2 个答案:

答案 0 :(得分:1)

您可以考虑使用单元测试,以确保将在所有不同场景中记录错误,这就是我们进行单元测试的原因:)

单元测试完全是关于自动化的,因此您需要能够自动验证日志条目。

您也可以考虑使用优先级。 (它用于过滤日志条目,只处理“最低优先级”以上的条目),因此它具有高优先级,也可以转到平面文件。

希望它会有所帮助。

答案 1 :(得分:0)

有一个特殊的类别叫做Logging Errors&当您的正常日志记录类别失败时,您应该连接到侦听器的警告以通知您。您还应该将听众放在正常类别中,从最有可能工作到最有可能失败,因为一旦发生故障,写入听众将停止。

此外,默认类别不是只读的。如果在创建日志条目时未指定类别,那么这是将写入日志的类别。但是,记录错误不会写入该类别。那些只进入Logging Errors&警告特殊类别。