A simple and practical C # log class (first version)

Source: Internet
Author: User

System logs are often used for both Web applications and Windows Forms applications. Logs can help us track and monitor the running status of the system, detect errors in time, and output adjustment information. There are many ways to record logs, such as using text files, XML files, and databases. Using text files to record logs is one of the most common methods.

Here is a simple and practical log class that uses text files to record logs. It has the following features:

1) Different log files are generated by date every day to facilitate searching logs by date.

2) generate different files by log type, such as tracking information, warning information, and error information, and use different log files to record them. It is convenient for us to find logs of the specified type.

3) You can specify the log file folder. If no log folder is specified, the Web application is saved to the Bin folder, and the Windows Forms Application is saved to the. EXE file folder.

4) You can specify the prefix of the log file.

Public class LogManager
{
Private static string logPath = string. Empty;
/// <Summary>
/// Folder for saving logs
/// </Summary>
Public static string LogPath
{
Get
{
If (logPath = string. Empty)
{
If (System. Web. HttpContext. Current = null)
// Windows Forms Application
LogPath = AppDomain. CurrentDomain. BaseDirectory;
Else
// Web application
LogPath = AppDomain. CurrentDomain. BaseDirectory + @ "bin \";
}
Return logPath;
}
Set {logPath = value ;}
}

Private static string logFielPrefix = string. Empty;
/// <Summary>
/// Log File prefix
/// </Summary>
Public static string LogFielPrefix
{
Get {return logFielPrefix ;}
Set {logFielPrefix = value ;}
}

/// <Summary>
/// Write logs
/// </Summary>
Public static void WriteLog (string logFile, string msg)
{
Try
{
System. IO. StreamWriter sw = System. IO. File. AppendText (
LogPath + LogFielPrefix + logFile + "" +
DateTime. Now. ToString ("yyyyMMdd") + ". Log"
);
Sw. WriteLine (DateTime. Now. ToString ("yyyy-MM-dd HH: mm: ss:") + msg );
Sw. Close ();
}
Catch
{}
}

/// <Summary>
/// Write logs
/// </Summary>
Public static void WriteLog (LogFile logFile, string msg)
{
WriteLog (logFile. ToString (), msg );
}
}

/// <Summary>
/// Log Type
/// </Summary>
Public enum LogFile
{
Trace,
Warning,
Error,
SQL
}

 

Usage:

LogManager. LogFielPrefix = "ERP ";
LogManager. LogPath = @ "C :\";
LogManager. WriteLog (LogFile. Trace, "A test Msg .");

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.