public class LogMrg
{
public static string oldfileName = "";
/// <summary>
///
/// </summary>
/// <param name="logcontent">日志内容</param>
/// <param name="filename">完全路徑名(路徑+檔案名)</param>
public static void WriteLog(string logcontent,string filename)
{
WriteLogFile(logcontent, filename);
}
/// <summary>
/// 必須要在配置檔案的節點 appSetting 下添加一個節點 fname.
/// </summary>
/// <param name="input"></param>
public static void WriteLogFile(string input)
{
if (oldfileName.Trim() == "")
{
oldfileName = ConfigurationManager.AppSettings["fname"].ToString();
}
FileInfo finfo = new FileInfo(oldfileName);
//如果檔案大大小大于2M,則建立一個檔案
if (finfo.Exists && finfo.Length > 20480)
{
oldfileName = oldfileName + DateTime.Now.ToString("yyyyMMddHHmmss")+".txt";
}
WriteLogFile(input, oldfileName);
}
/// <summary>
/// fname:指定日志檔案的目錄
/// </summary>
/// <param name="input">日志内容</param>
/// <param name="fname">完全路徑名(路徑+檔案名)</param>
public static void WriteLogFile(string input,string fname)
{
//1 指定日志檔案的目錄 fname
//2 定義檔案資訊對象
FileInfo finfo = new FileInfo(fname);
/////判斷檔案是否存在以及是否大于2M
//if (finfo.Exists && finfo.Length > 20480)
//{
// fname = fname + DateTime.Now.ToString();
//}
//建立隻寫檔案流
using (FileStream fs = finfo.OpenWrite())
{
//根據上面建立的檔案流建立寫資料流
StreamWriter w = new StreamWriter(fs);
//設定寫資料流的起始位置為檔案流的末尾
w.BaseStream.Seek(0, SeekOrigin.End);
//寫入目前系統時間
w.Write("--{0} {1} ", DateTime.Now.ToLongTimeString(),DateTime.Now.ToLongDateString());
//寫入日志内容
w.Write(input);
//并換行
w.WriteLine("\r\n");
//清空緩沖區内容,并把緩沖區内容寫入基礎流
w.Flush();
//關閉寫資料流
w.Close();
}
}
}
//配置檔案裡的節點:<add key="fname" value="D:\\VSTest\\sjdb\\logfile.txt"/>
作者:沐雪