一個簡單實用的C#日志類


   不管是Web應用還是Windows Forms 應用,系統日志我們都經常用到。日志可以幫助我們跟蹤監視系統的運行狀況,及時發現錯誤,輸出調式信息等。記錄日志的方法很多,比如用文本文件、XML文件、數據庫等。而用文本文件記錄日志是最常用的方法之一。

這里就是一個用文本文件記錄日志的簡單實用的日志類,它有如下幾個特點:

1)按日期每天生產不同日志文件,方便按照日期來查找日志。

2)按日志類型生產不同的文件,比如 跟蹤信息、警告信息、錯誤信息用不同的日志文件來記錄;方便我們查找指定類型的日志。

3)可以指定保持日志文件文件夾,如果不指定日志文件夾,Web應用保存到Bin文件夾,Windows Forms應用保存到.EXE文件所在的文件夾。

4)可以指定日志文件的前綴。

public   class  LogManager
{
    
private   static   string  logPath  =   string .Empty;
    
///   <summary>
    
///  保存日志的文件夾
    
///   </summary>
     public   static   string  LogPath
    {
        
get
        {
            
if  (logPath  ==   string .Empty)
            {
                
if  (System.Web.HttpContext.Current  ==   null )
                    
//  Windows Forms 應用
                    logPath  =  AppDomain.CurrentDomain.BaseDirectory;
                
else
                    
//  Web 應用
                    logPath  =  AppDomain.CurrentDomain.BaseDirectory  +   @" bin\ " ;
            }
            
return  logPath;
        }
        
set { logPath  =  value;}
    }

    
private   static   string  logFielPrefix  =   string .Empty;
    
///   <summary>
    
///  日志文件前綴
    
///   </summary>
     public   static   string  LogFielPrefix
    {
        
get  {  return  logFielPrefix; }
        
set  { logFielPrefix  =  value; }
    }

    
///   <summary>
    
///  寫日志
    
///   </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>
    
///  寫日志
    
///   </summary>
     public   static   void  WriteLog(LogFile logFile,  string  msg)
    {
        WriteLog(logFile.ToString(), msg);
    }
}

///   <summary>
///  日志類型
///   </summary>
public   enum  LogFile
{
    Trace,
    Warning,
    Error,
    SQL
}

 

 使用方法:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM