如何在TXT文件中保存异常


public DataTable InsertItemDetails(FeedRetailPL objFeedRetPL)
{
    DataTable GetListID = new DataTable();
    try
    {
        SqlParameter[] arParams = new SqlParameter[4];
        arParams[0] = new SqlParameter("@Date", typeof(DateTime));
        arParams[0].Value = objFeedRetPL.requestdate;
    }
    catch (Exception ex)
    {
        string dir = @"C:Error.txt";  // folder location
        if (!Directory.Exists(dir))
        {
            Directory.CreateDirectory(dir);
            File.AppendAllText(Server.MapPath("~/Error.txt"), "Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace +
       "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
            string New = Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine;
            File.AppendAllText(Server.MapPath("~/Error.txt"), New);
        }
    }
}

在这里,我想保存" c:" ..我正在尝试在dal中保存一个异常...如何保存异常C驱动器错误.txt

由于要将异常保存到C:Error.txt,因此您不需要Directory.ExistsDirectory.CreateDirectoryServer.MapPath("~/Error.txt")。您可以简单地使用类似的流稿者:

string filePath = @"C:Error.txt";
Exception ex = ...
using( StreamWriter writer = new StreamWriter( filePath, true ) )
{
    writer.WriteLine( "-----------------------------------------------------------------------------" );
    writer.WriteLine( "Date : " + DateTime.Now.ToString() );
    writer.WriteLine();
    while( ex != null )
    {
        writer.WriteLine( ex.GetType().FullName );
        writer.WriteLine( "Message : " + ex.Message );
        writer.WriteLine( "StackTrace : " + ex.StackTrace );
        ex = ex.InnerException;
    }
}

如果不存在,上述代码将创建C:Error.txt,或者如果已经存在C:Error.txt

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.IO;
    namespace ErrorLoggingSample
    {
     class Program
      {
      static void Main(string[] args)
      {
        try
        {
            string str = string.Empty;
            if (string.IsNullOrEmpty(str))
            {
                throw new Exception("Wrong Data");
            }
        }
        catch (Exception ex)
        {
            ErrorLogging(ex);
            ReadError();
        }
    }
    public static void ErrorLogging(Exception ex)
    {
        string strPath = @"D:RekhaLog.txt";
        if (!File.Exists(strPath))
        {
            File.Create(strPath).Dispose();
        }
        using (StreamWriter sw = File.AppendText(strPath))
        {
            sw.WriteLine("=============Error Logging ===========");
            sw.WriteLine("===========Start============= " +       DateTime.Now);
            sw.WriteLine("Error Message: " + ex.Message);
            sw.WriteLine("Stack Trace: " + ex.StackTrace);
            sw.WriteLine("===========End============= " + DateTime.Now);
        }
    }
    public static void ReadError()
    {
        string strPath = @"D:RekhaLog.txt";
        using (StreamReader sr = new StreamReader(strPath))
        {
            string line;
            while ((line = sr.ReadLine()) != null)
            {
                Console.WriteLine(line);
            }
        }
      }
   }
  }

我使用一个

catch (Exception e)
{
    new MessageWriteToFile(e).WriteToFile();
}

public class MessageWriteToFile
{
    private const string Directory = "C:\AppLogs";
    public string Message { get; set; }
    public Exception Exception { get; set; }
    public string DefaultPath
    {
        get
        {
            var appName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
            var folder = $"{Directory}\{appName}";
            if (!System.IO.Directory.Exists(folder))
            {
                System.IO.Directory.CreateDirectory(folder);
            }
            var fileName = $"{DateTime.Today:yyyy-MM-dd}.txt";
            return $"{Directory}\{appName}\{fileName}";
        }
    }
    public MessageWriteToFile(string message)
    {
        Message = message;
    }
    public MessageWriteToFile(Exception ex)
    {
        Exception = ex;
    }
    public bool WriteToFile(string path = "")
    {
        if (string.IsNullOrEmpty(path))
        {
            path = DefaultPath;
        }
         try
        {
            using (var writer = new StreamWriter(path, true))
            {
                writer.WriteLine("-----------------------------------------------------------------------------");
                writer.WriteLine("Date : " + DateTime.Now.ToString(CultureInfo.InvariantCulture));
                writer.WriteLine();
                if (Exception != null)
                {
                    writer.WriteLine(Exception.GetType().FullName);
                    writer.WriteLine("Source : " + Exception.Source);
                    writer.WriteLine("Message : " + Exception.Message);
                    writer.WriteLine("StackTrace : " + Exception.StackTrace);
                    writer.WriteLine("InnerException : " + Exception.InnerException?.Message);
                }
                if (!string.IsNullOrEmpty(Message))
                {
                    writer.WriteLine(Message);
                }
                writer.Close();
            }
        }
        catch (Exception)
        {
            return false;
        }
        return true;
    }
}

尝试此

 try
    {
        int i = int.Parse("Prashant");
    }
    catch (Exception ex)
    {
        this.LogError(ex);
    }
   private void LogError(Exception ex)
   {
    string message = string.Format("Time: {0}", DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt"));
    message += Environment.NewLine;
    message += "-----------------------------------------------------------";
    message += Environment.NewLine;
    message += string.Format("Message: {0}", ex.Message);
    message += Environment.NewLine;
    message += string.Format("StackTrace: {0}", ex.StackTrace);
    message += Environment.NewLine;
    message += string.Format("Source: {0}", ex.Source);
    message += Environment.NewLine;
    message += string.Format("TargetSite: {0}", ex.TargetSite.ToString());
    message += Environment.NewLine;
    message += "-----------------------------------------------------------";
    message += Environment.NewLine;
    string path = Server.MapPath("~/ErrorLog/ErrorLog.txt");
    using (StreamWriter writer = new StreamWriter(path, true))
    {
        writer.WriteLine(message);
        writer.Close();
    }
}

string [] path1 = directory.getfiles(@e: sorate: storege;>

                for (var i = 0; i < path1.Length; i++)
                {
                var file = Directory.GetDirectories(networkPath);
                
                    var path = file;
                string temp_FilePath = "E:\temp.txt";
                string temp_FilePath1 = @"E:ExceptionFilesCs_regular\Cs_regular.txt";
                string temp_FilePath2 = @"E:ExceptionFilesCC_eBilling\CC_eBilling.txt";
                string folder = @"E:ExceptionFilesCs_regular";
                string folder1 = @"E:ExceptionFilesCC_eBilling";

                string[] lines;
                var list = new List<string>();
                var list1 = new List<string>();
                var list2 = new List<string>();
                var error = false;
                var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
                var fileStream1 = new FileStream(path, FileMode.Open, FileAccess.Read);
                var fileStream2 = new FileStream(path, FileMode.Open, FileAccess.Read);


                using (var streamReader = new StreamReader(fileStream, Encoding.UTF8))
                {
                    string line;

                    while ((line = streamReader.ReadLine()) != null)
                    {

                        var res = line.Substring(20, 16);
                        //var timenow = DateTime.Now.ToString("yyyy /MM/dd HH:mm");
                        var timenow1 = "2020/10/31 10:11";
                        if (res == timenow1)
                        {
                            string linesRemoved = "ERROR";
                            if (!line.Contains(linesRemoved))
                            {
                                if (error == true)
                                {
                                    if (line.Contains("at"))
                                    {
                                        list1.Add(line);
                                        error = true;
                                    }
                                    else
                                    {
                                        error = false;
                                    }
                                }
                            }
                            else
                            {
                                error = false;
                            }


                            if (line.Contains("Exception1") && error == false)
                            {
                                list1.Add(line);
                                error = true;
                            }
                        }

                    }
                }
                
                using (var streamReader2 = new StreamReader(fileStream2, Encoding.UTF8))
                {
                    string line;
                    while ((line = streamReader2.ReadLine()) != null)
                    {
                        string linesRemoved = "ERROR";
                        var res = line.Substring(20, 16);
                        //var timenow = DateTime.Now.ToString("yyyy/MM/dd HH:mm");
                        var timenow1 = "2020/10/29 12:38";
                        if (res == timenow1)
                        {
                            if (!line.Contains(linesRemoved))
                            {
                                if (error == true)
                                {
                                    if (line.Contains("at"))
                                    {
                                        list2.Add(line);
                                        error = true;
                                    }
                                    else
                                    {
                                        error = false;
                                    }
                                }
                            }
                            else
                            {
                                error = false;
                            }

                            if ((line.Contains("Exception2") && line.Contains("Exception:")) && error == false)
                            {
                                list2.Add(line);
                                error = true;
                            }
                        }



                    }
                }


                if ((System.IO.File.Exists(temp_FilePath1) || System.IO.File.Exists(temp_FilePath2)))
                {
                    int fileCount = Directory.GetFiles(folder).Length;
                    int fileCount1 = Directory.GetFiles(folder1).Length;
                    fileCount++;
                    fileCount1++;
                    temp_FilePath1 = temp_FilePath1 + "(" + fileCount.ToString() + ").txt";
                    temp_FilePath2 = temp_FilePath2 + "(" + fileCount1.ToString() + ").txt";

                }
                {
                    System.IO.File.WriteAllLines(temp_FilePath1, list1);
                    System.IO.File.WriteAllLines(temp_FilePath2, list2);
                }


                System.IO.File.WriteAllLines(temp_FilePath, list);
                System.IO.File.WriteAllLines(temp_FilePath1, list1);
                System.IO.File.WriteAllLines(temp_FilePath2, list2);
                }
            }
        }
        catch (Exception ex)
        {
        }

        return null;

最新更新