用TextWriterTraceListener實現log文件記錄 (轉載)

 

log4net之類3方組件確實很方便,可是想寫個小小的demo之類的程序,有點用不起啊。spa

微軟自帶的TraceListener要實現一個簡易的日誌幫助類仍是很簡單的,直接上代碼,本身備用,也但願對一樣煩惱的哥們有用:日誌

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;

namespace TestExpressionLambda
{
    public class Logger
    {
        /// <summary>
        /// 默認路徑
        /// </summary>
        public static readonly string RootPath = AppDomain.CurrentDomain.BaseDirectory + "log";

        /// <summary>
        /// 默認文件名格式
        /// </summary>
        public static readonly string FileFormat = DateTime.Now.ToString("yyyy-MM-dd") + ".log";

        /// <summary>
        /// 默認Trace監聽
        /// </summary>
        public static TextWriterTraceListener traceListener;

        /// <summary>
        /// 靜態實例
        /// </summary>
        private static readonly Logger instance = new Logger();
        static Logger()
        {
            if (!Directory.Exists(RootPath))
            {
                Directory.CreateDirectory(RootPath);
            }

            string logFile = RootPath.TrimEnd('\\') + "\\" + FileFormat;
            if (!File.Exists(logFile))
            {
                File.Create(logFile);
            }

            Trace.AutoFlush = true;
            traceListener = new TextWriterTraceListener(logFile);
            Trace.Listeners.Add(traceListener);
        }

        /// <summary>
        /// log輸出     /// 固然這裏能夠本身隨便擴充
        /// </summary>
        /// <param name="msg"></param>
        public static void Log(string msg)
        {
            Trace.WriteLine(msg);
        }
    }
}
相關文章
相關標籤/搜索