Add a class file name it as ErrorLog
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Text;
using System.IO;
namespace Save_Error_Log_or_Exception
{
public class ErrorLog
{
public bool WriteErrorLog(string LogMessage)
{
bool Status = false;
string LogDirectory = ConfigurationManager.AppSettings["LogDirectory"].ToString();
DateTime CurrentDateTime = DateTime.Now;
string CurrentDateTimeString = CurrentDateTime.ToString();
CheckCreateLogDirectory(LogDirectory);
string logLine = BuildLogLine(CurrentDateTime, LogMessage);
LogDirectory = (LogDirectory + "Log_" + LogFileName(DateTime.Now) + ".txt");
lock (typeof(ErrorLog))
{
StreamWriter oStreamWriter = null;
try
{
oStreamWriter = new StreamWriter(LogDirectory, true);
oStreamWriter.WriteLine(logLine);
Status = true;
}
catch
{
}
finally
{
if (oStreamWriter != null)
{
oStreamWriter.Close();
}
}
}
return Status;
}
private bool CheckCreateLogDirectory(string LogPath)
{
bool loggingDirectoryExists = false;
DirectoryInfo oDirectoryInfo = new DirectoryInfo(LogPath);
if (oDirectoryInfo.Exists)
{
loggingDirectoryExists = true;
}
else
{
try
{
Directory.CreateDirectory(LogPath);
loggingDirectoryExists = true;
}
catch
{
// Logging failure
}
}
return loggingDirectoryExists;
}
private string BuildLogLine(DateTime CurrentDateTime, string LogMessage)
{
StringBuilder loglineStringBuilder = new StringBuilder();
loglineStringBuilder.Append(LogFileEntryDateTime(CurrentDateTime));
loglineStringBuilder.Append(" \t");
loglineStringBuilder.Append(LogMessage);
return loglineStringBuilder.ToString();
}
public string LogFileEntryDateTime(DateTime CurrentDateTime)
{
return CurrentDateTime.ToString("dd-MM-yyyy HH:mm:ss");
}
private string LogFileName(DateTime CurrentDateTime)
{
return CurrentDateTime.ToString("dd_MM_yyyy HH:mm:ss");
}
}
}
------------
Page_Load:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Save_Error_Log_or_Exception
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
ErrorLog oErrorLog = new ErrorLog();
try
{
int i,j,k;
i = 100;
j = 0;
k =i/j;
}
catch (Exception ex)
{
oErrorLog.WriteErrorLog(ex.ToString());
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Text;
using System.IO;
namespace Save_Error_Log_or_Exception
{
public class ErrorLog
{
public bool WriteErrorLog(string LogMessage)
{
bool Status = false;
string LogDirectory = ConfigurationManager.AppSettings["LogDirectory"].ToString();
DateTime CurrentDateTime = DateTime.Now;
string CurrentDateTimeString = CurrentDateTime.ToString();
CheckCreateLogDirectory(LogDirectory);
string logLine = BuildLogLine(CurrentDateTime, LogMessage);
LogDirectory = (LogDirectory + "Log_" + LogFileName(DateTime.Now) + ".txt");
lock (typeof(ErrorLog))
{
StreamWriter oStreamWriter = null;
try
{
oStreamWriter = new StreamWriter(LogDirectory, true);
oStreamWriter.WriteLine(logLine);
Status = true;
}
catch
{
}
finally
{
if (oStreamWriter != null)
{
oStreamWriter.Close();
}
}
}
return Status;
}
private bool CheckCreateLogDirectory(string LogPath)
{
bool loggingDirectoryExists = false;
DirectoryInfo oDirectoryInfo = new DirectoryInfo(LogPath);
if (oDirectoryInfo.Exists)
{
loggingDirectoryExists = true;
}
else
{
try
{
Directory.CreateDirectory(LogPath);
loggingDirectoryExists = true;
}
catch
{
// Logging failure
}
}
return loggingDirectoryExists;
}
private string BuildLogLine(DateTime CurrentDateTime, string LogMessage)
{
StringBuilder loglineStringBuilder = new StringBuilder();
loglineStringBuilder.Append(LogFileEntryDateTime(CurrentDateTime));
loglineStringBuilder.Append(" \t");
loglineStringBuilder.Append(LogMessage);
return loglineStringBuilder.ToString();
}
public string LogFileEntryDateTime(DateTime CurrentDateTime)
{
return CurrentDateTime.ToString("dd-MM-yyyy HH:mm:ss");
}
private string LogFileName(DateTime CurrentDateTime)
{
return CurrentDateTime.ToString("dd_MM_yyyy HH:mm:ss");
}
}
}
------------
Page_Load:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Save_Error_Log_or_Exception
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
ErrorLog oErrorLog = new ErrorLog();
try
{
int i,j,k;
i = 100;
j = 0;
k =i/j;
}
catch (Exception ex)
{
oErrorLog.WriteErrorLog(ex.ToString());
}
}
}
}