1. 程式人生 > >一個不需要Log4Net的寫日誌的簡單方法

一個不需要Log4Net的寫日誌的簡單方法

filename stream lena creat test contex writer exists ndt

有些項目寫日誌時會選擇大名鼎鼎的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(); } }

一個不需要Log4Net的寫日誌的簡單方法