zoukankan      html  css  js  c++  java
  • C# 使用Trace记录程序日志

    在程序开发中,我们通常需要记录程序运行的状态,在程序部署后,发生的异常可以记录在日志中,便于发现程序潜在的问题。在.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");
            }

    代码点击这里下载。

    感谢您的阅读。

  • 相关阅读:
    Django之路由系统(urls.py)
    Django之配置文件(settings.py)
    初始Django
    CSS基础
    HTML
    mysql基础知识拾遗
    python的进程
    python 队列
    python的线程
    2017年10月21日 CSS常用样式&鼠标样式 以及 jQuery鼠标事件& jQuery图片轮播& jQuery图片自动轮播代码
  • 原文地址:https://www.cnblogs.com/wangchaoyuana/p/7523624.html
Copyright © 2011-2022 走看看