Thursday, 2 March 2017

config

<add key="LogDirectory" value="C:\Projects\TEAC\TEAC.Web\ErrorLog"/>

Logger

 public class ErrorLog
    {

        static string LogFolder = ConfigurationManager.AppSettings["LogDirectory"];
        /// <summary>
        /// Errorlog Method
        /// </summary>
        /// <param name="ex"></param>
        public static void Log(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;

            //Check the Folder
            CheckCreateLogDirectory(LogFolder);

            // Create the TXT file with date and time.
            string filename = "\\" + String.Format("{0:yyyy-MM-dd}__{1}.txt", DateTime.Now, "ErrorLog");
            // string path = Path.Combine(LogFolder, filename);
            string Testpath = LogFolder + filename;

            //using (StreamWriter sw = File.CreateText(Testpath))
            //{
            //    //sw.WriteLine(message);
            //}
            //
            using (StreamWriter writer = new StreamWriter(Testpath, true))
            {
                writer.WriteLine(message);
                writer.Close();
            }


        }
        /// <summary>
        /// Check the Directory exists or not.
        /// </summary>
        /// <param name="logPath"></param>
        /// <returns></returns>
        public static void CheckCreateLogDirectory(string logPath)
        {
            DirectoryInfo dirInfo = new DirectoryInfo(logPath);
            if (!dirInfo.Exists)
            {
                try
                {
                    Directory.CreateDirectory(logPath);
                }
                catch (Exception ex)
                {
                    // Logging failure
                }

            }
        }
        //public static void WriteToFile(string directory, string name,string message)
        // {
        //     string filename = String.Format("{0:yyyy-MM-dd}__{1}", DateTime.Now, name);
        //     string path = Path.Combine(directory, filename);
        //     using (StreamWriter sw = File.CreateText(path))
        //     {
        //         sw.WriteLine(message);
        //         sw.Close();
        //     }
        // }
    }