public class LogManager
? ? {
? ? ? ? private string PathName;
? ? ? ? private string FileName;
? ? ? ? /// <summary>
? ? ? ? /// 構造 Log
? ? ? ? /// </summary>
? ? ? ? /// <param name="pathname">相對于當前程序目錄下 Log目錄的相對路徑抛蚤,
? ? ? ? ?///如System,就相當于 .\Log\System\</param>
? ? ? ? public LogManager(string pathname)
? ? ? ? {
? ? ? ? ? ? if (String.IsNullOrEmpty(pathname))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? throw new Exception("沒有初始化 Log 類的 PathName 變量");
? ? ? ? ? ? }
? ? ? ? ? ? PathName = System.AppDomain.CurrentDomain.BaseDirectory + "Log\\" + pathname;
? ? ? ? ? ? if (!Directory.Exists(PathName))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? try
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Directory.CreateDirectory(PathName);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? catch { }
? ? ? ? ? ? }
? ? ? ? ? ? if (!Directory.Exists(PathName))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? PathName = System.AppDomain.CurrentDomain.BaseDirectory + "Log";
? ? ? ? ? ? ? ? if (!Directory.Exists(PathName))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? try
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? Directory.CreateDirectory(PathName);
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? catch { }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? if (!Directory.Exists(PathName))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? PathName = System.AppDomain.CurrentDomain.BaseDirectory;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? FileName = PathName + "\\" + DateTime.Now.ToString("yyyy-MM-dd") + ".log";
? ? ? ? }
? ? ? ? public void Write(string Message)
? ? ? ? {
? ? ? ? ? ? FileName = PathName + "\\" + DateTime.Now.ToString("yyyy-MM-dd") + ".log";
? ? ? ? ? ? if (String.IsNullOrEmpty(FileName))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? }
? ? ? ? ? ? using (FileStream fs = new FileStream(FileName, FileMode.Append, FileAccess.Write, FileShare.Write))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? StreamWriter writer = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GBK"));
? ? ? ? ? ? ? ? try
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? writer.WriteLine(System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":" + System.DateTime.Now.Millisecond.ToString() + "\t\t" + Message + "\r\n");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? catch { }
? ? ? ? ? ? ? ? writer.Close();
? ? ? ? ? ? }
? ? ? ? }
? ? }