码迷,mamicode.com
首页 > Windows程序 > 详细

C# 使用Trace记录程序日志

时间:2017-09-15 01:42:53      阅读:376      评论:0      收藏:0      [点我收藏+]

标签:edr   static   string   tin   blank   创建   enc   下载   exce   

在程序开发中,我们通常需要记录程序运行的状态,在程序部署后,发生的异常可以记录在日志中,便于发现程序潜在的问题。在.NET平台,有很多优秀的日志类库,例如Log4Net。如果程序很小,我们可以自己通过C#的Trace类来实现一个基本的日志记录功能。下面直接看代码:

技术分享
    public class TraceHelper
    {
        private static TraceHelper _traceHelper;

        private TraceHelper()
        {
        }

        public static TraceHelper GetInstance()
        {
            if (_traceHelper == null)
                _traceHelper = new TraceHelper();

            return _traceHelper;
        }

        public void Error(string message, string module)
        {
            Log(message, MessageType.Error, module);
        }

        public void Error(Exception ex, string module)
        {
            Log(ex.StackTrace, MessageType.Error, module);
        }

        public void Warning(string message, string module)
        {
            Log(message, MessageType.Warning, module);
        }

        public void Info(string message, string module)
        {
            Log(message, MessageType.Information, module);
        }

        private void Log(string message, MessageType type, string module)
        {
            Trace.WriteLine(
                string.Format("{0},{1},{2},{3}",
                DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                type.ToString(),
                module,
                message));
        }
    }

    public enum MessageType
    {
       Information = 0,
       Warning = 1,
       Error = 2
    }
}
技术分享

在App.config文件中添加(也可以在代码中创建TraceListener):

技术分享
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
  <system.diagnostics>
    <trace autoflush="true" indentsize="0">
      <listeners>
        <add name="LogListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="LogConsoleApp.log"/>
      </listeners>
    </trace>
  </system.diagnostics>
</configuration>
技术分享

使用也很简单,

        static void Main(string[] args)
        {
            TraceHelper.GetInstance().Info("This is a information message", "Main Function");

            TraceHelper.GetInstance().Error("This is an error message", "Main Function");
        }

代码点击这里下载。

感谢您的阅读。

C# 使用Trace记录程序日志

标签:edr   static   string   tin   blank   创建   enc   下载   exce   

原文地址:http://www.cnblogs.com/wangchaoyuana/p/7523624.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!