• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#使用Trace记录程序日志

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

代码点击这里下载。

感谢您的阅读。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#与面向对象编程语言发布时间:2022-07-10
下一篇:
C#服务里面调用Python.exe来执行python文件发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap