![]() |
Web Development »
Trace and Logs »
Trace / Logs
Beginner
Create Simple Error Log Files using ASP.NET and C#By Ali Ahmad HAn article on generating text based error log files |
C#, .NET, Win2K, WinXP, ASP.NET, Visual Studio, Dev
|
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||

Picture 1. Sample error message

Picture 2. Sample error log file
This article demonstrates how to create a simple text based log file to log error messages with your own format using a C# class. Based on your needs, this class can modified and edited to create other log files, such as user activity log, user login time log, etc.
This class demonstrates the use of following namespaces:
System.IOSystem.TextThe namespaces contain methods to create files in directories.
If you have downloaded the source code, you can follow these steps to install the project. You can then build and debug the code with VS.NET.
URLPath to your virtual site nameTextBox, if you have an error, you can see the errorlog was created in the Logs directoryIn this project, the main idea is to create a class, CreateLogFiles, that will create files in a specific directory from the web. This class uses two namespaces:
using System.IO;
using System.Text;
Before we make a function to create an error files, we have to declare some variables that will be used in our function. This is an example of variable declaration:
private string sLogFormat;
private string sErrorTime;
public CreateLogFiles()
{
//sLogFormat used to create log files format :
// dd/mm/yyyy hh:mm:ss AM/PM ==> Log Message
sLogFormat = DateTime.Now.ToShortDateString().ToString()+" "+DateTime.Now.ToLongTimeString().ToString()+" ==> ";
//this variable used to create log filename format "
//for example filename : ErrorLogYYYYMMDD
string sYear = DateTime.Now.Year.ToString();
string sMonth = DateTime.Now.Month.ToString();
string sDay = DateTime.Now.Day.ToString();
sErrorTime = sYear+sMonth+sDay;
}
and this is a function that will create error files. Please modify this function for your needs, or you can make other functions to create other log files :
public void ErrorLog(string sPathName, string sErrMsg)
{
StreamWriter sw = new StreamWriter(sPathName+sErrorTime,true);
sw.WriteLine(sLogFormat + sErrMsg);
sw.Flush();
sw.Close();
}
To use this class, I create an example web form called: CreateLogFiles. A snapshot of this web form is shown above, picture 1. This is used to search a file in our directory. If the file exists, then no error log file is created, but when a file doesn't exist, it will create an error log file with the specific error message.
This is the code behind for this page. I call the ErrorLog function from our class when the Search button is clicked.
private void BtnFind_Click(object sender, System.EventArgs e)
{
try
{
StreamReader sr = new StreamReader(this.TxtFilename.Text);
sr.Read();
sr.Close();
Msg.Visible = true;
Msg.Text = "File "+ this.TxtFilename.Text +" was found";
}
catch(Exception ex)
{
CreateLogFiles Err = new CreateLogFiles();
Err.ErrorLog(Server.MapPath("Logs/ErrorLog"),ex.Message);
Msg.Visible = true;
Msg.Text = "Fatal error : "+ ex.Message + ", please find a complete error at ErrorLog file";
}
}
I am using try and catch to check automatically whether file exists or not. An error message gets automatically by the Exception method.
That's it. :-) You can view complete source code in the download file.
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 27 May 2002 Editor: Paul Watson |
Copyright 2002 by Ali Ahmad H Everything else Copyright © CodeProject, 1999-2009 Web10 | Advertise on the Code Project |