紀錄 LOG 的 Class..有需求再慢慢增加 ^_^
public static class Log
{
// LOG相關參數
private static string LogDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "LOG");
/// <summary>
/// 紀錄 LOG (適用Webservice)
/// </summary>
/// <param name="InfoType">資訊類型</param>
/// <param name="UserIP">呼叫的電腦位置</param>
/// <param name="ThreadID">Session ID</param>
/// <param name="FuncName">函式名稱</param>
/// <param name="Content">記錄的內容</param>
public static void Logger(InfoType Type, string UserIP, string ThreadID, string FuncName, string Content)
{
string ls_LogPath = Path.Combine(LogDir, DateTime.Now.ToString("yyyyMM"));
if (!Directory.Exists(ls_LogPath))
Directory.CreateDirectory(ls_LogPath);
ls_LogPath = Path.Combine(ls_LogPath, string.Format("{0}.log", DateTime.Now.ToString("dd")));
Content = string.Format("{0} [{1}] [{2}] [{3}] > ({4}) {5}\r\n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), UserIP, ThreadID, Type == InfoType.Normal ? "I" : "E", FuncName, Content);
using (FileStream LogFile = new FileStream(ls_LogPath, FileMode.Append, FileAccess.Write, FileShare.Write/*, 4096, true*/))
{
byte[] ld_Content = Encoding.UTF8.GetBytes(Content);
LogFile.Write(ld_Content, 0, ld_Content.Length);
LogFile.Flush();
LogFile.Close();
}
}
/// <summary>
/// 紀錄 LOG (適用一般Console. WinForm)
/// </summary>
/// <param name="Type">資訊類型</param>
/// <param name="FuncName">函式名稱</param>
/// <param name="Content">記錄的內容</param>
public static void Logger(InfoType Type, string FuncName, string Content)
{
string ls_LogPath = Path.Combine(LogDir, DateTime.Now.ToString("yyyyMM"));
if (!Directory.Exists(ls_LogPath))
Directory.CreateDirectory(ls_LogPath);
ls_LogPath = Path.Combine(ls_LogPath, string.Format("{0}.log", DateTime.Now.ToString("dd")));
Content = string.Format("{0} [{1}] > ({2}) {3}\r\n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), Type == InfoType.Normal ? "I" : "E", FuncName, Content);
using (FileStream LogFile = new FileStream(ls_LogPath, FileMode.Append, FileAccess.Write, FileShare.Write/*, 4096, true*/))
{
byte[] ld_Content = Encoding.UTF8.GetBytes(Content);
LogFile.Write(ld_Content, 0, ld_Content.Length);
LogFile.Flush();
LogFile.Close();
}
}
/// <summary>
/// 資訊類型
/// </summary>
public enum InfoType
{
Normal = 0,
Error = 1
}
}