• log4net+spring.net+Nhibernate 内部异常捕捉问题


    当使用log4net+spring.net+Nhibernate组合的时候,如果发生异常,经过层层传递,以及Spring对异常的包装,如果直接使用

                    LogManager.GetLogger(typeof(_Default)).Error(ex.Message, ex);

    来记录异常信息的话,通常记录不了,猜测的原因(并没有深究。。。):ex有内部异常,且这个异常经过了nhibernate和spring包装之后,log4net无法从内部堆栈中找出最原始的异常,所以导致log4net记录不了这个异常,那么我们就采用以下形式记录:

                    LogManager.GetLogger(typeof(_Default)).Error(ex.Message, ex.InnerException == null ? ex : ex.InnerException);

    就能解决这个问题!

  • 相关阅读:
    mysql-03
    mysql-02
    mysql-01
    RESTFUL设计风格
    mysql水平拆分和垂直拆分
    redis连环夺命问
    Python 的十大重要特性
    吊打--redis
    python2和3 的区别
    tornado第一段代码
  • 原文地址:https://www.cnblogs.com/HollisYao/p/1741294.html
Copyright © 2020-2023  润新知