how to save exception in txt file?

前端 未结 5 1123
逝去的感伤
逝去的感伤 2021-01-31 16:46
public DataTable InsertItemDetails(FeedRetailPL objFeedRetPL)
{
    DataTable GetListID = new DataTable();
    try
    {
        SqlParameter[] arParams = new SqlParamet         


        
相关标签:
5条回答
  • 2021-01-31 17:08

    Since you want to save the exception to C:\Error.txt, you don't need Directory.Exists, Directory.CreateDirectory, or Server.MapPath("~/Error.txt"). You can simply use StreamWriter like this:

    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;
        }
    }
    

    The above code will create C:\Error.txt if it doesn't exist, or append C:\Error.txt if it already exists.

    0 讨论(0)
  • 2021-01-31 17:08
        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:\Rekha\Log.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:\Rekha\Log.txt";
            using (StreamReader sr = new StreamReader(strPath))
            {
                string line;
                while ((line = sr.ReadLine()) != null)
                {
                    Console.WriteLine(line);
                }
            }
          }
       }
      }
    
    0 讨论(0)
  • 2021-01-31 17:09

    I use that one

    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;
        }
    }
    
    0 讨论(0)
  • 2021-01-31 17:11

    Try This

     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();
        }
    }
    
    0 讨论(0)
  • 2021-01-31 17:28

    string[] path1 = Directory.GetFiles(@"E:\storage", "*.txt");//it get the all textfiles from the folder

                    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:\ExceptionFiles\Cs_regular\\Cs_regular.txt";
                    string temp_FilePath2 = @"E:\ExceptionFiles\CC_eBilling\\CC_eBilling.txt";
                    string folder = @"E:\ExceptionFiles\Cs_regular";
                    string folder1 = @"E:\ExceptionFiles\CC_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;
    
    0 讨论(0)
提交回复
热议问题