繁体   English   中英

Log4Net:在C#类库项目中记录所有未处理的异常

[英]Log4Net: logging all unhandled exceptions in C# class library project

我有一个C#类库项目,即使我不使用try catch块,也需要捕获类中所有未处理的异常。 注意:我已经用log4net.config安装了log4net,它可以在Debug,Info,Error中手动正常记录。

你能帮助我吗?

谢谢

我必须做同样的事情, 这篇文章很有帮助。 唯一的缺点是,您可能最终会记录过多的异常。 由于您说的是您正在编写一个类库,具体取决于将使用该类库的应用程序,因此您可能不想捕获该应用程序引发的所有异常。 要解决此问题,我建议您执行以下操作:

AppDomain.CurrentDomain.FirstChanceException += (sender, e) => {
    if (e.Exception.TargetSite.DeclaringType.Assembly == Assembly.GetExecutingAssembly())
    {
        logger.ErrorFormat("Exception Thrown: {0}\n{1}", e.Exception.Message, e.Exception.StackTrace);
    }
};

这样,您将只捕获代码中的异常。 希望这可以帮助 !

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM