【发布时间】:2011-06-10 01:33:37
【问题描述】:
如何从 log4net 中捕获错误?
我有一个带有 log4net 的程序。 log4net 设置了一个 MySql 服务器作为存储库。如果它无法连接到 MySql 服务器,它会向控制台打印许多技术语句,但我不想显示它们。因此,我想捕获错误并仅显示“无法连接到 MySql”。
【问题讨论】:
如何从 log4net 中捕获错误?
我有一个带有 log4net 的程序。 log4net 设置了一个 MySql 服务器作为存储库。如果它无法连接到 MySql 服务器,它会向控制台打印许多技术语句,但我不想显示它们。因此,我想捕获错误并仅显示“无法连接到 MySql”。
【问题讨论】:
log4net 不会抛出异常。相反,它会在内部将所有异常写入错误日志
EventLog.WriteEntry("ErrorHandler","Error: " + ex.Message, EventLogEntryType.Error);
因此,您只需阅读适合您目的的事件日志条目。
【讨论】:
一个简短的简单解决方法是,您可以在调用 log4net.Configure() 函数之前尝试使用相同的连接字符串连接到 mysql 并检查连接是否可行。
或
如果您想始终确保连接,只需按照这封电子邮件中的内容进行操作 即创建自己的异常处理程序Email
电子邮件非常古老,但我认为即使在最新版本中也不会更改此类实现。
只是我的 2cents :)
【讨论】: