首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理通过Log4Net生成的AdoNetAppender错误

处理通过Log4Net生成的AdoNetAppender错误
EN

Stack Overflow用户
提问于 2011-07-08 23:25:58
回答 1查看 919关注 0票数 0

我使用的是Log4Net,而不是使用XML配置文件,而是完全用代码构建fileAppender和AdoNetAppender。当adoNetAppender无法连接到指定的数据库时,它将使用该错误并将其写入控制台窗口,而不是引发该错误。这使得我不可能捕捉到。最终,我希望捕获配置错误,然后加载fileAppender以防数据库宕机。

代码语言:javascript
复制
try {
    log4net.Repository.Hierarchy.Hierarchy hier = log4net.LogManager.GetRepository() as log4net.Repository.Hierarchy.Hierarchy;

    if (hier != null)
    {

        log4net.Appender.AdoNetAppender adoAppender = new log4net.Appender.AdoNetAppender();
        adoAppender.Name = "AdoNetAppender";
        // more code..
}
catch (Exception ex)
{
    LoadFileAppender(level);
    Log log = new Log("AdoAdaptorFail");
    log.Error("AdoAdaptor Failed", "System", ex);
}

它永远不会命中这个catch语句,因为它消耗了这个错误。

对如何处理有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2011-07-08 23:43:51

可以考虑设置ReConnectOnError属性(在连接字符串中使用非常短的连接超时):

http://logging.apache.org/log4net/release/sdk/log4net.Appender.AdoNetAppender.ReconnectOnError.html

Log4net是非常特别的,所以它永远不会通过异常。我猜您可以修改附加器或从它派生来更改此行为。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6626694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档