有些專案寫日誌時會選擇大名鼎鼎的Log4Net。而在我們使用它時,總會出現一些諸如版本不匹配而造成的寫日誌失敗的情況,還要改web.config,還要改AssemblyInfo。而且,它的失敗,並不是以日誌的形式展現,而是“無反應”,你無法知道是哪裡出了問題,最終的效果就是“沒有輸出日誌且不知道為什麼,需要根據百度和經驗判斷”。索性放棄。我只是要輸出文字日誌而已,殺雞不要用牛刀了。
以下是一個簡單實用的日誌類,無需配置。
public class LogHelper { public static void WriteLog(string msg) { string logFileName = DateTime.Now.ToString("yyyyMMdd") + ".txt"; //此處根據不同的專案型別用不同的方法取路徑 //string logPath = base.Context.Server.MapPath("") + @"\LOG"; //string logPath = HttpContext.Current.Server.MapPath("") + @"\LOG"; string logPath = AppDomain.CurrentDomain.BaseDirectory + @"\log"; string fullPath = logPath + @"\" + logFileName; if (!Directory.Exists(logPath)) { Directory.CreateDirectory(logPath); } using (StreamWriter writer = File.AppendText(fullPath)) { Log(msg, writer); writer.Close(); } } private static void Log(string logMessage, TextWriter writer) { writer.Write("\r\nLog Entry : "); writer.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(), DateTime.Now.ToLongDateString()); writer.WriteLine(" :{0}", logMessage); writer.WriteLine("-------------------------------"); writer.Flush(); } }