利用日志记录所有LINQ的增,删,改解决方案

在项目初期部署的时候,如果bug没有被排除干净,但代码部署到客户机上了,那么调试bug会是个问题,一般我们都会在这段时间把日志打开,在日志中将操作过程记录到日志中。为了将所有的增,删,改的操作都记录下来,我们会加入一个数据上下文的分布类,然后重写SubmitChanges方法,以下是我的解决方案:

 

public   partial   class  YourDataContext : System.Data.Linq.DataContext
    {
        
public   override   void  SubmitChanges(ConflictMode failureMode)
        {
            
// 记录日志(每天一个文件,记录所有更改sql,日志会存在第一个盘的log文件夹下)
             if  (ConfigurationManager.AppSettings[ " IsTraceLinqLog " ].ToString().ToLower()
                
==   " true " )
            {
                
string  directory  =  Path.Combine(Directory.GetLogicalDrives().First(),  " log " );
                Directory.CreateDirectory(directory);
                
string  logFile  =  Path.Combine(directory,
                    
" log "   +  DateTime.Now.ToShortDateString()  +   " .txt " );
                
using  (StreamWriter w  =  File.AppendText(logFile))
                {
                    w.WriteLine(
" 发生时间:{0} " , DateTime.Now.ToString());
                    w.WriteLine(
" 日志内容为: " );
                    
this .Log  =  w;
                    
try
                    {
                        
base .SubmitChanges(failureMode);
                    }
                    
catch  (Exception e)
                    {
                        w.WriteLine(e.Message);
                        
throw ;
                    }
                    w.WriteLine(
" -------------------------------------------------------------- " );

                }
            }
            
else
            {
                
base .SubmitChanges(failureMode);
            }

        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值