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