博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用日志记录所有LINQ的增,删,改解决方案
阅读量:5987 次
发布时间:2019-06-20

本文共 1019 字,大约阅读时间需要 3 分钟。

在项目初期部署的时候,如果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);
            }
        }
    }

转载地址:http://qeylx.baihongyu.com/

你可能感兴趣的文章
Linux命令中特殊符号
查看>>
C#json操作
查看>>
windows service 2012 R2使用 PHP通过file_get_contents()方法不能正常获取远程网页内容
查看>>
生活整洁之道
查看>>
编译器错误消息: CS0234: 命名空间“System.Web”中不存在类型或命名空间名称“Optimization”(是否缺少程序集引用?)...
查看>>
MVC学习Day02
查看>>
Dictionary 字典的使用
查看>>
hdu 3307 简单的指数循环节
查看>>
(二)Vue常用7个属性
查看>>
查询02_程序包锁的处理
查看>>
mysql.ini _转
查看>>
面向对象编程思想 - 月亮晶石的日志 - 网易博客
查看>>
hdu Can you solve this equation?
查看>>
docker容器中挂载的目录没有权限的问题
查看>>
HTTP协议详解
查看>>
【转载】Mac 上 ssh-add 永久将私钥添加到 Keychain
查看>>
Silverlight相关
查看>>
jquery中attr和prop的区别
查看>>
java流类,快速统计出字符次数+++
查看>>
java代码,用continue写出偶数
查看>>