1. Add new static "ErrorLoging" class to solution and paste the below code in cs file.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Diagnostics;
/// <summary>
/// class contain methode for logging WriteToErrorLogFile_Trace(string)
/// </summary>
public static class ErrorLoging
{
/// <summary>
/// log error to path metion in web.config file for key "ErrorFolderPath".
/// new file will be created for each day
/// </summary>
/// <param name="msg">error msg to log.</param>
/// <param name="ex">exception object, Pass null to just log some msg.</param>
public static void WriteToErrorLogFile_Trace(string msg,Exception ex)
{
try
{
if (!System.IO.Directory.Exists(System.Configuration.ConfigurationManager.AppSettings["ErrorFolderPath"] + "\\Errors\\"))
{
System.IO.Directory.CreateDirectory(System.Configuration.ConfigurationManager.AppSettings["ErrorFolderPath"] + "\\Errors\\");
}
//if (!System.IO.File.Exists(Application.StartupPath + "\\Errors\\" + DateTime.Today.Date.ToString().Replace('/', ' ').Replace(':', ' ')+".txt"))
//{
// System.IO.File.Create(Application.StartupPath + "\\Errors\\" + DateTime.Today.Date.ToString().Replace('/', ' ').Replace(':', ' ') + ".txt");
//}
FileStream fs1 = new FileStream(System.Configuration.ConfigurationManager.AppSettings["ErrorFolderPath"] + "\\Errors\\" + DateTime.Today.Year.ToString() + DateTime.Now.ToString("MM") + DateTime.Now.ToString("dd") + ".txt", FileMode.Append, FileAccess.Write);
StreamWriter s1 = new StreamWriter(fs1);
s1.WriteLine("==================" + DateTime.Now.ToString() + "===========================" + System.Environment.NewLine);
s1.WriteLine(msg + System.Environment.NewLine);
if (ex != null)
{
// Get stack trace for the exception with source file information
var st = new StackTrace(ex, true);
// Get the top stack frame
var frame = st.GetFrame(0);
s1.WriteLine("Line Number:" + System.Environment.NewLine + frame.GetFileLineNumber() + System.Environment.NewLine);
s1.WriteLine("File Name:" + System.Environment.NewLine + frame.GetFileName() + System.Environment.NewLine);
s1.WriteLine("Message:" + System.Environment.NewLine + ex.Message + System.Environment.NewLine);
s1.WriteLine("Methode:" + System.Environment.NewLine + ex.TargetSite + System.Environment.NewLine);
s1.WriteLine("Source:" + System.Environment.NewLine + ex.Source + System.Environment.NewLine);
s1.WriteLine("InnerException:" + System.Environment.NewLine + ex.InnerException + System.Environment.NewLine);
s1.WriteLine("StackTrace:" + System.Environment.NewLine + ex.StackTrace + System.Environment.NewLine);
}
s1.WriteLine("================================================================" + System.Environment.NewLine);
s1.Close();
fs1.Close();
}
catch (Exception e)
{
throw e;
}
}
}
3. Add below code on your page/user control cs file
4. Write below in all your catch
try
{
}
catch(Exception ex)
{
LogError("error on my code",ex,false);
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Diagnostics;
/// <summary>
/// class contain methode for logging WriteToErrorLogFile_Trace(string)
/// </summary>
public static class ErrorLoging
{
/// <summary>
/// log error to path metion in web.config file for key "ErrorFolderPath".
/// new file will be created for each day
/// </summary>
/// <param name="msg">error msg to log.</param>
/// <param name="ex">exception object, Pass null to just log some msg.</param>
public static void WriteToErrorLogFile_Trace(string msg,Exception ex)
{
try
{
if (!System.IO.Directory.Exists(System.Configuration.ConfigurationManager.AppSettings["ErrorFolderPath"] + "\\Errors\\"))
{
System.IO.Directory.CreateDirectory(System.Configuration.ConfigurationManager.AppSettings["ErrorFolderPath"] + "\\Errors\\");
}
//if (!System.IO.File.Exists(Application.StartupPath + "\\Errors\\" + DateTime.Today.Date.ToString().Replace('/', ' ').Replace(':', ' ')+".txt"))
//{
// System.IO.File.Create(Application.StartupPath + "\\Errors\\" + DateTime.Today.Date.ToString().Replace('/', ' ').Replace(':', ' ') + ".txt");
//}
FileStream fs1 = new FileStream(System.Configuration.ConfigurationManager.AppSettings["ErrorFolderPath"] + "\\Errors\\" + DateTime.Today.Year.ToString() + DateTime.Now.ToString("MM") + DateTime.Now.ToString("dd") + ".txt", FileMode.Append, FileAccess.Write);
StreamWriter s1 = new StreamWriter(fs1);
s1.WriteLine("==================" + DateTime.Now.ToString() + "===========================" + System.Environment.NewLine);
s1.WriteLine(msg + System.Environment.NewLine);
if (ex != null)
{
// Get stack trace for the exception with source file information
var st = new StackTrace(ex, true);
// Get the top stack frame
var frame = st.GetFrame(0);
s1.WriteLine("Line Number:" + System.Environment.NewLine + frame.GetFileLineNumber() + System.Environment.NewLine);
s1.WriteLine("File Name:" + System.Environment.NewLine + frame.GetFileName() + System.Environment.NewLine);
s1.WriteLine("Message:" + System.Environment.NewLine + ex.Message + System.Environment.NewLine);
s1.WriteLine("Methode:" + System.Environment.NewLine + ex.TargetSite + System.Environment.NewLine);
s1.WriteLine("Source:" + System.Environment.NewLine + ex.Source + System.Environment.NewLine);
s1.WriteLine("InnerException:" + System.Environment.NewLine + ex.InnerException + System.Environment.NewLine);
s1.WriteLine("StackTrace:" + System.Environment.NewLine + ex.StackTrace + System.Environment.NewLine);
}
s1.WriteLine("================================================================" + System.Environment.NewLine);
s1.Close();
fs1.Close();
}
catch (Exception e)
{
throw e;
}
}
}
2. add follwing key in web.config <appSettings>
<appSettings>
<add key="ErrorFolderPath" value="d:\ErrorLogFolder"/>
</appSettings>
3. Add below code on your page/user control cs file
/// <summary>
/// calls
static error log method
/// </summary>
/// <param name="msg">specific developer msg for logging</param>
/// <param name="ex">Exception object</param>
/// <param name="showUser">true if want to throw exception to user</param>
public void
LogError(string msg, Exception
ex,bool showUser)
{
ErrorLoging.WriteToErrorLogFile_Trace(msg
+ System.Environment.NewLine+"Show User:"+showUser, ex);
if
(showUser)
{
throw
ex;
}
}
4. Write below in all your catch
try
{
}
catch(Exception ex)
{
LogError("error on my code",ex,false);
}
No comments:
Post a Comment