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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

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

        }
    }
复制代码
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
Java
SpringBoot 日志终极解决方案
SpringBoot 日志终极解决方案
130 0
|
8月前
|
Prometheus Cloud Native 数据库
Grafana 系列文章(九):开源云原生日志解决方案 Loki 简介
Grafana 系列文章(九):开源云原生日志解决方案 Loki 简介
|
消息中间件 弹性计算 数据可视化
SpringBoot 整合 Elastic Stack 最新版本(7.14.1)分布式日志解决方案,开源微服务全栈项目【有来商城】的日志落地实践
SpringBoot 整合 Elastic Stack 最新版本(7.14.1)分布式日志解决方案,开源微服务全栈项目【有来商城】的日志落地实践
|
3月前
|
缓存 Linux 编译器
【C++】CentOS环境搭建-安装log4cplus日志组件包及报错解决方案
通过上述步骤,您应该能够在CentOS环境中成功安装并使用log4cplus日志组件。面对任何安装或使用过程中出现的问题,仔细检查错误信息,对照提供的解决方案进行调整,通常都能找到合适的解决之道。log4cplus的强大功能将为您的项目提供灵活、高效的日志管理方案,助力软件开发与维护。
89 0
|
4月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
197 9
|
5月前
|
存储 监控 数据可视化
性能监控之JMeter分布式压测轻量日志解决方案
【8月更文挑战第11天】性能监控之JMeter分布式压测轻量日志解决方案
112 0
性能监控之JMeter分布式压测轻量日志解决方案
|
7月前
|
存储 监控 安全
《SelectDB 新一代日志存储分析平台解决方案》白皮书重磅发布|立即下载
作为基于 Apache Doris 打造的现代化数据仓库,SelectDB 不拘泥于传统数仓的限制,针对日志数据的特点引入了多项创新性技术,使用户可基于 SelectDB 构建开放、高性能、低成本、统一的日志存储分析平台, 截至目前已在近百家行业内知名企业中落地。
《SelectDB 新一代日志存储分析平台解决方案》白皮书重磅发布|立即下载
|
8月前
|
存储 消息中间件 Java
Java多线程实战-异步操作日志记录解决方案(AOP+注解+多线程)
Java多线程实战-异步操作日志记录解决方案(AOP+注解+多线程)
|
8月前
|
iOS开发
XCode控制台调试无法看到函数跟踪或无法看到输出的日志问题及解决方案
XCode控制台调试无法看到函数跟踪或无法看到输出的日志问题及解决方案
331 0
|
8月前
|
机器学习/深度学习 JSON Linux
NSLog日志输出不全问题分析与解决方案
NSLog日志输出不全问题分析与解决方案
243 0