how to save exception in txt file? how to save exception in txt file? asp.net asp.net

how to save exception in txt file?


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.


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


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