如何保持catch的日志异常并将日志发送到数据库c#?

时间:2017-12-21 05:06:26

标签: c# windows-applications

我想保留catch的日志异常并发送到数据库或文本文件?

try
{
}
catch (Exception ex)
{
   MessageBox.Show(ex.Message);  
}

谢谢

2 个答案:

答案 0 :(得分:0)

  

如果您正在使用Entity,只需创建数据库上下文的对象   框架并将其插入您的表中(例如,一个包含(id,   例外名称,内部消息,错误号,CreatedDateTime等))。

catch (Exception ex)
{
   DatabaseEntity DbObj = new DatabaseEntity();
   ExceptionTable ExObj = new ExceptionTable();
   ExObj.ExceptionName = ex.Message;
   ExObj.InnerException = ex.InnerException;
   .....
   //Code according to your need
   .....

   DbObj.ExceptionTable.Add(ExObj);
   DbObj.SaveChanges();
   MessageBox.Show(ex.Message);  
}
  你可以遵循这个   How to Log Exception in a file?,   这可能会对你有所帮助

答案 1 :(得分:0)

这将创建一个文本文件或附加txt(如果它已经存在,并抛出异常的日期和时间)。我希望这正是你所寻找的。

catch(Exception Ex)
            {
                StreamWriter sw = null;
                String Logfile = "C:\ExceptionLog.txt";
                if (!System.IO.File.Exists(LogFile))
                {
                    sw = File.CreateText(LogFile);
                    sw.WriteLine(String.Format("Exception\t DateTime"));

                }
                else
                {
                    sw = File.AppendText(@"C:\ExceptionLog.txt");
                }

                sw.WriteLine(String.Format("{0}\t {1}", Ex, 
                    DateTime.Now.ToString("MM/dd/yyy HH:mm:ss"));
                sw.Close();
            }