用TextWriterTraceListener实现log文件记录 (转载)

 

log4net之类3方组件确实很方便,但是想写个小小的demo之类的程序,有点用不起啊。

微软自带的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); } } }

posted on 2016-01-21 10:59  Shuke  阅读(1633)  评论(1编辑  收藏  举报

导航