zoukankan      html  css  js  c++  java
  • log4cplus使用(三)-日志重定向

    本文讲述的是log4cplus日志输出到qt widget,封装了serverSocket。
        log4cplus支持用户自定义输出设备,只需要继承自Appender,或者Appender子类,并实现append成员方法,然后在 log4cplus初始化成功之后,把自定义输出设备添加到logger中,当用户向logger中输出信息时,logger会遍历自身的所有输出设备, 并按输出设备上的指定格式输出信息。
        log4cplus是线程安全的,因此在多线程下可以放心使用

        在小工具编写的过程中,作者遇到了ESP Crash问题,在网上了找了好久的资料,也没搞好,后来当然是解决了,原因:我的小工具是用vs2013写的,log4cplus库使用vs2010编 译的,后来用vs2013编译了下log4cplus,小工具一切正常;不过log4cplus自带的事例代码却开始crash了(vs2010下正 常),后来网上各种百度、谷歌,发现有的人说这是vs2013的bug,反正是最后也没解决。
        小工具运行流程:启动小工具,开启接收远端连接线程W,这样不阻塞ui主线程,当接收线程收到远端连接时,开启收据接收子线程R,来和远端交互,每个线程 更新一个widget,当线程W关闭时,关闭掉所有由W创建的子线程R,然后关闭serverSocket。R线程接收的数据使用抛事件的方式传递给 widget,当然不是直接抛给widget,而是有一个专门处理事件的线程,接收各种不同的事件,然后通过信号槽,发送到指定窗口,窗口更新到界面上。

        效果如图1所示

    图1  

    主要的类说明:

    1、工作者线程,监听消息事件
    class MessageListening : public QThread

    2、帮助工作者线程处理业务的对象,用户监听客户端的连接请求
    class Work : public QObject
    工作者线程
    class WorkThread : public QThread

    3、工作者线程,监听消息事件
    class MessageListening : public QThread

    4、服务器端线程,负责和客户端进行交互
    class ClientThread : public log4cplus::thread::AbstractThread

    5、小工具主窗口 负责接收并显示日志信息
    class debugHelper : public QWidget

    6、用户列表,显示当前连接的用户+默认+创建的用户
    class CCUserListWidget : public QTreeWidget

    7、自定义输出设备
    class CCUIAppender : public ConsoleAppender

    8、日志过滤数据源 负责提供给视图过滤后的数据,数据源来自QStandardItemModel
    class CCSortFilterProxyModel : public QSortFilterProxyModel

    9、日志窗口 针对每个用户new一个
    class CCLogTableWidget : public QWidget

    10、本地日志加载创建 用于比对多个不同来源的日志
    class CCLogListWidget : public QWidget

    如果您觉得文章不错,不妨给个打赏,写作不易,感谢各位的支持。您的支持是我最大的动力,谢谢!!! 

     

      


    很重要--转载声明

    1. 本站文章无特别说明,皆为原创,版权所有,转载时请用链接的方式,给出原文出处。同时写上原作者:朝十晚八 or Twowords
    2. 如要转载,请原文转载,如在转载时修改本文,请事先告知,谢绝在转载时通过修改本文达到有利于转载者的目的。 

  • 相关阅读:
    PHP新建文件并写入内容demo
    PHP输出结果demo
    网站顶部图标使用分析
    .htaccess文件的创建 / 联动天下空间伪静态(isapi_rewrite)配置方法
    【原创】网站底部竖线布局对比/研究
    JS判断访问设备终端PC/iPad/iPhone/android 和浏览器IE/Opera/Firefox/webKit
    我的blog风格
    2020.11.17 近日复健情况
    南风又起,锦字题予往昔(写给校刊《我们大多数》)
    【对拍大法好!!】
  • 原文地址:https://www.cnblogs.com/swarmbees/p/5621619.html
Copyright © 2011-2022 走看看