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

王明輝發表於2017-08-15

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

 

相關文章