C#日誌類,實用.net日誌操作類

來源:互聯網
上載者:User

C#日誌類,實用.net日誌操作類

 

不管是Web應用還是Windows Forms 應用,系統日誌我們都經常用到。日誌可以協助我們跟蹤監視系統的健全狀態,及時發現錯誤,輸出調式資訊等。記錄日誌的方法很多,比如用文字檔、XML檔案、資料庫等。而用文字檔記錄日誌是最常用的方法之一。

這裡就是一個用文字檔記錄日誌的簡單實用的日誌類,它有如下幾個特點:

 

1)按日期每天生產不同記錄檔,方便按照日期來尋找日誌。

 

2)按日誌類型生產不同的檔案,比如跟蹤資訊、警告資訊、錯誤資訊用不同的記錄檔來記錄;方便我們尋找指定類型的日誌。

 

3)可以指定保持記錄檔檔案夾,如果不指定記錄檔夾,Web應用保持到Bin檔案夾,Windows Forms應用保持到.EXE檔案所在的檔案夾。

 

4)可以指定記錄檔的首碼。

 

public class LogManager

{

    private static string logPath = string.Empty;

    ///<summary>

    /// 儲存日誌的檔案夾

    ///</summary>

    publicstatic 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;}

    }

 

    privatestatic string logFielPrefix = string.Empty;

    ///<summary>

    /// 記錄檔首碼

    ///</summary>

    publicstatic string LogFielPrefix

    {

        get {return logFielPrefix; }

        set {logFielPrefix = value; }

    }

 

    ///<summary>

    /// 寫日誌

    ///</summary>

    publicstatic 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>

    publicstatic 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."); 

 



 

 

 

 

 

 

 

 

 

 

· c# 讀寫文字檔,二進位檔案

2008-03-25

著作權聲明:轉載時請以超連結形式標明文章原始出處和作者資訊及本聲明
http://q-hj.blogbus.com/logs/42336562.html

C# 操作檔案

著作權 : 天山寒雪 QQ:757015000 MSN: haijun.qin@hotmail.com

        }
       /// <summary>
       /// 讀取二進位檔案
       /// </summary>
       /// <param name="filename"></param>
       private void ReadBinaryFiles(string filename)
        {
           FileStream filesstream = new FileStream(filename, FileMode.Create);
           BinaryWriter objBinaryWriter = new BinaryWriter(filesstream);
           for (int index = 0; index < 20; index++)
           {
               objBinaryWriter.Write((int)index);
           }
           objBinaryWriter.Close();
           filesstream.Close();
        }
       /// <summary>
       /// 寫入二進位檔案
       /// </summary>
       /// <param name="filepath"></param>
       private void WriteBinaryFiles(string filepath)
        {
           if (!File.Exists(filepath))
           {
               //檔案不存在
           }
           else
           {
               FileStream filestream = new FileStream(filepath, FileMode.Open,FileAccess.Read);
               BinaryReader objBinaryReader = new BinaryReader(filestream);
               try
               {
                   while (true)
                   {
                       //objBinaryReader.ReadInt32();
                   }
               }
               catch (Exception ex)
               {
                   //已到檔案結尾
               }
           }
        }

File 類:
Create(string FilePath)
在指定路徑下建立具有指定名稱的檔案。此方法返回一個FileStream 對象
OpenRead(string FilePath)
開啟一個現有檔案來讀取資料
AppendText(string FilePah)
允許向文本添加文本
Copy(string SourceFilePath,stringDestinationPath)
按指定的路徑將源檔案的內容複寫到目標檔案中。如果目標不存在,則在指定的路徑中以指定的名稱建立一個檔案
Delete(string filePath)
刪除指定路徑的檔案
Exists(string filePath)
驗證指定路徑是否存在具有指定名稱的檔案。該方法返回一個布爾值

///<summary>
       /// 寫入檔案
       /// </summary>
       /// <param name="filename"></param>
       /// <param name="filecontent"></param>
       private void SaveFiles(string filename,string filecontent)
        {
           FileStream fs;
           try
           {
               fs = File.Create(filename);
           }
           catch (Exception ex)
           {
               throw ex;
           }
           byte[] content = new UTF8Encoding(true).GetBytes(filecontent);
           try
           {
               fs.Write(content, 0, content.Length);
               fs.Flush();
           }
           catch (Exception ex)
           {
               throw ex;
           }
           finally
           {
               fs.Close();
           }
        }
       /// <summary>
       /// 儲存檔案
       /// </summary>
       /// <param name="path"></param>
       private void ReadFiles(string path)
        {
           try
           {
               if (!File.Exists(path))
               {
                   //檔案不存在
               }
               else
               {
                   //開啟流讀取
                   FileStream fs = File.OpenRead(path);
                   //建立一個byte 數組以讀取資料
                   byte[] arr = new byte[100];
                   UTF8Encoding data = new UTF8Encoding(true);
                   //繼續讀完檔案的所有資料
                   while (fs.Read(arr, 0, arr.Length) > 0)
                   {
                       //data.GetString(arr);
                   }
               }
           }
           catch (Exception ex)
           {
               throw ex;
           }

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.