zoukankan      html  css  js  c++  java
  • 好久没有上来,发布几个日志类

         在写软件中,如果有完整的日志输出,开发者在跟踪问题上就会变得很方便,而且现场问题很多是不会让你直接调试跟踪的,这个时候查询日志恐怕是唯一的手段.日志一般可以分为错误日志,运行状态日志,交互日志(通信日志).其实交互日志也可以看作运行状态日志的一种.编写输出日志的代码往往占用了程序员大量的时间,通常来说日志输出代码会占总代码的1%到3%左右(个人经验,当然有些牛人的程序是不需要日志的).

         在SysLog中对日志有严格的程度分级,一共有7级(emergency,alert,critical,error,warning,notice,info,debug),参考SysLog的程度分级,你也可以规划你的日志分级.

         日志的呈现也有多种:日志文件,界面呈现,windows事件输出,写数据库.

         考虑这些种种因素,编写组织一个好的日志类或架构并不容易.

         今天我公布我的几个日志类,以供大家参考:

    日志类MixFunc.rar

    该文件提供了CFileLogger文件输出,CListViewLogger界面输出(ListView显示),CLogMgr(提供单一示例,同时文件输出和界面输出)

    初始化:

                CLogMgr.G_Instance.AppOutputLevel = MixFunc.LogSeverity.info;
                CLogMgr.G_Instance.ErrorOutputLevel = MixFunc.LogSeverity.warning;

                CLogMgr.G_Instance.AppLogView = lvApplog;
                CLogMgr.G_Instance.ErrorLogView = lvError;

    日志输出:        例1:

                   try
                    {
                        //你的代码

                    }
                    catch (Exception ex)
                    {
                        CLogMgr.G_Instance.WriteErrorLog(MixFunc.LogSeverity.error, "数据库连接设置", ex.Message + ":" + ex.StackTrace);
                    }

                例2:

                public void OnError(string ExtraMsg, Exception Ex)
              {
                CLogMgr.G_Instance.WriteErrorLog(LogSeverity.error, ExtraMsg, Ex);
              }

              例3:

               CLogMgr.G_Instance.WriteAppLog(MixFunc.LogSeverity.info, "消息服务", "服务启动成功!");

    日志显示:

             //需要定时器,定时调用

            private void tmRefresh_Tick(object sender, EventArgs e)
            {
                CLogMgr.G_Instance.DisplayUILog();
            }

    效果如图:

           

  • 相关阅读:
    IOS添加pch预编译文件
    UITableview控件基本使用
    两种单例模式的写法
    提交app Store审核时,Missing 64-bit support问题的解决办法
    IOS开发NSString与int和float的相互转换以及字符串拼接、NSString、NSData、char* 类型之间的转换
    获取UITableView每行中不同的UITextField输入的内容(例如修改登陆密码)
    UITextField常用属性归纳:文本框样式、文字样式、键盘样式、左右视图样式、清除按钮设置等,iosuitextfield
    UITabBarController(标签栏控制器)
    iOS基础控件UINavigationController中的传值
    IOS开发之多线程
  • 原文地址:https://www.cnblogs.com/legahero/p/log.html
Copyright © 2011-2022 走看看