⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 context.cs

📁 LogLinqSql 通过Linq实现日志记录到sql数据库
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Data.SqlClient;
using System.Data.Common;
namespace ConsoleApplication8
{
    public partial class DataClasses1DataContext
    {
        public override void SubmitChanges(System.Data.Linq.ConflictMode failureMode)
        {
            ////记录日志(每天一个文件,记录所有更改sql,日志会存在第一个盘的log文件夹下)

            //string directory = Path.Combine(Directory.GetLogicalDrives().First(), "log");
            //Directory.CreateDirectory(directory);
            //string logFile = Path.Combine(directory,
            //    "log" + DateTime.Now.ToLongDateString() + ".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 + e.StackTrace);
            //        w.WriteLine("--------------------------------------------------------------");

            //        throw;
            //    }
            //    finally
            //    {
            //        this.Log = null;
            //    }
            //    w.WriteLine("--------------------------------------------------------------");

            //}
            StringBuilder sb = new StringBuilder();
            using (StringWriter sw = new StringWriter(sb))
            {

                sw.WriteLine("发生时间:{0}", DateTime.Now.ToString());
                sw.WriteLine("日志内容为:");
                this.Log = sw;
                try
                {
                    base.SubmitChanges(failureMode);
                    string sqlStr = "insert into logTable(Content)values( '"+sb.ToString()+"')";
                    //SqlConnection con=
                    using (SqlConnection con=new SqlConnection(this.Connection.ConnectionString))
                    {
                        con.Open();
                        SqlCommand cmd = new SqlCommand(sqlStr, con);
                        cmd.ExecuteNonQuery();
                    }

                }
                catch (Exception e)
                {
                    //记录日志(每天一个文件,记录所有更改sql,日志会存在第一个盘的log文件夹下)

                    string directory = Path.Combine(Directory.GetLogicalDrives().First(), "log");
                    Directory.CreateDirectory(directory);
                    string logFile = Path.Combine(directory,
                        "log" + DateTime.Now.ToLongDateString() + ".txt");
                    using (StreamWriter w = File.AppendText(logFile))
                    {
                        w.WriteLine("发生时间:{0}", DateTime.Now.ToString());
                        w.WriteLine("日志内容为:");
                        w.WriteLine(e.Message);

                    }
                }
                finally
                {
                    this.Log = null;
                }
        }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -