日期:2014-05-18  浏览次数:20770 次

程序中日志记录的困惑

C# code

foreach(DataRow dr in dt.Rows)
{
   //查询记录的方法
    if(存在记录)
   { 
        //更新
    }
    else
    {
        //插入
     }
}



这段代码就是把dt中数据写到数据库中,先查询数据是否存在,存在就更新,不存在插入。
怎么对这个过程进行日志记录,日志也写到记录所在的数据库。
想要这种日志结果:对每条数据的插入、更新都写日志,失败也要记录日志,失败的原因也记录
我考虑到这些问题:
1.查询的时候,可能会出现异常的时候,比如数据库连接失败  
2.插入或更新的时候出项异常, 
3.写日志的时候也出现异常,比如数据库连接失败  
而1 和2 情况在日志里体现什么原因,但是记录日志失败,需要,弹出窗口提示
因为日志如果出项异常的话,必定是数据库连接失败,网络不通,连接字符串错误等,肯定不能访问数据库写日志


如何实现这种效果,进行有效地异常处理,请有经验的朋友给个处理方法。
谢谢!

------解决方案--------------------
前两项,catch错误,将错误信息写入日志
第三个,如果写日志过程错误,你写不了日志,也就没法记录了