以前Log都是打印在一个文档中,然后打开文件夹,最后打开文档查看里面的内容,每次打开文件夹感觉很烦。

前些日子看到同事开发.NET的时候,用他自己的一个小工具能够时时查看到Log的内容,非常方便,所以就想移植到PHP开发中。

一、查看效果

1、打开客户端小工具mylog.exe,在地址中输入localhost,端口输入5555,点击开始链接,旁边屏幕会显示“开始监听”的字样。

2、打开log.php页面,页面很朴素,就打印了一串字符。

3、查看mylog.exe,里面已接收到hello字符串

二、PHP代码

1)先要下载一个PHP版本的zmq.dll文件

  1、打开链接http://pecl.php.net/package/zmq,点击某个版本的DLL。

  

  2、然后在php.ini中设置

  

  3、log.php中的代码,注意:这里使用的是Publish-subscribe模式,由PHP来Publish,client小工具做subscribe,下图是两者之间的关系。

<?php    $context = new ZMQContext ();    $publisher = $context->getSocket (ZMQ::SOCKET_PUB);    $publisher->bind ("tcp://*:5555");    sleep(1); $publisher->send ('hello');    echo '已发送hello';?>

  

三、Client代码

  1、总共放了两个文件,client中是可以直接运行的exe文件,mylog中是.NET源码,用VS2010编辑的。打开client文件,只要点击mylog.exe就能打开小工具。

    

  2、clrzmq.dll是.NET中zmq的辅助dll文件,需要引入到源码中

  3、在client中做zmq的sub操作,接收并将数据打印出来。

     void LogReceiver(){            using (ZmqContext ctx = ZmqContext.Create()){                using (ZmqSocket sub = ctx.CreateSocket(SocketType.SUB)){sub.Connect("tcp://" + address.Text + ":" + port.Text);sub.SubscribeAll();sub.ReceiveReady += (s, e) =>{                        string log = sub.Receive(Encoding.UTF8);HandleLog(log);};                    var poller = new Poller(new List<ZmqSocket> { sub });                    while (_recvgo){                        try{poller.Poll();}                        catch (Exception ex){}}}}}

在集成到实际项目中还会出现很多问题,我这里只是做个简单的demo展示一下。

转载于:https://blog.51cto.com/zhangtaoze/1916570

PHP Log时时查看小工具相关推荐

  1. php log在哪里看,PHP Log时时查看小工具

    以前Log都是打印在一个文档中,然后打开文件夹,最后打开文档查看里面的内容,每次打开文件夹感觉很烦. 前些日子看到同事开发.NET的时候,用他自己的一个小工具能够时时查看到Log的内容,非常方便,所以 ...

  2. 寄存器位查看小工具.exe

    嵌入式工程必备的寄存器位查看小工具.exe,方便你查看各个位的值,毕竟对寄存器配置都是对位的操作. 下载链接:寄存器位查看小工具.exe

  3. 提高看log效率的小工具

    文本型的log,比如Android的log,都是普通文本.在大家连续奋战的时候,难免看起来容易眼花. 这时候如何提高效率?我们给它搞个高亮好不好? 这就是我们要介绍的看log工具:TextAnalys ...

  4. 生成法线贴图的几款软件和轻量法线效果查看小工具

    1.CrazyBump http://crazybump.com/mac/ 2.SpriteIlluminator https://www.snakehillgames.com/spritelamp/ ...

  5. jQuery开发之windows边栏小工具开发(Gadget development)- wi...

    为什么80%的码农都做不了架构师?>>>    jQuery开发之windows边栏小工具开发(Gadget development)- windows小工具实现的电话薄查询工具 作 ...

  6. [分享] jQuery开发之windows边栏小工具开发(Gadget development)- windows小工具实现的公司内部分机查询工具...

    作者:Terry li - GBin1.com 使用vista和win7的朋友可能都或多或少的使用过windows小工具,这些小工具可以被自由的添加到桌面上并且快速实现一定的功能,比如,天气预报,股票 ...

  7. 小工具查看MYSQL数据文件块和类型

    通过学习姜大师的INNODB 存储引擎,获得了块的格式的标识位,同时看到书上有他自己写的一个工具能够查看数据块的类型, 那么既然知道了标识位,我使用C语言也写了一个功能类似的小工具,不要在生产环境,可 ...

  8. Windows:利用各种小工具查看自己电脑上的CPUGPU型号、个数、详细参数等不同方法的详细攻略

    Windows:利用各种小工具查看自己电脑上的CPU&GPU型号.个数.详细参数等不同方法的详细攻略 导读 本文章以Windows10系统为例,利用各种小工具查看自己电脑上的CPU&G ...

  9. WeChat之小工具:基于C++程序代码设计的查看微信撤销、撤回消息(包括文本、图片、视频等)GUI小工具

    WeChat之小工具:基于C++程序代码设计的查看微信撤销.撤回消息(包括文本.图片.视频等)GUI小工具 导读      哈哈,千万不要给程序猿随便发信息,程序猿认真起来,别说你发的微信信息,就连你 ...

最新文章

  1. 清晰易懂的Numpy入门教程
  2. ​Java 中的内存溢出和内存泄露是什么?我给你举个有味道的例子​
  3. Virtura box 构建一个简单局域网并联入外网
  4. html5音轨字幕,(图解)如何修改mkv默认音轨和字幕
  5. TCP解决粘包问题(结构数据封包拆包)
  6. 计算机系答辩麻烦,计算机专业的你,答辩时有多卑微?
  7. Linux创建逻辑卷
  8. Mongoose的链接和model优化
  9. Php无限层级并显示层级数
  10. WPF下通过附加属性实现单实例启动
  11. 各种常见3D建模软件比较
  12. FCC认证和3C认证区别
  13. Atcoder Beginner Contest (ABC) 237 A - E
  14. Pytorch中torch.nn.DataParallel负载均衡问题
  15. 人们熟知的一句名言是:“天才是1%的灵感加99%的汗水。”可如果没有那1%的灵感,世界上所有的汗水也就仅仅是一桶汗水而已。...
  16. 使用 Python 进行面部特征检测和面部过滤器
  17. mpu6050详细c语言程序,mpu6050详细C语言知识程序.doc
  18. html —— table 标签 与 display:table 样式
  19. el-badge 标记
  20. 单例模式-DoubleCheck

热门文章

  1. 从乘法表JAVA意思4_四、Java从头开始-我的九九乘法表(二)
  2. 嵌入式驱动开发 视频学习推荐
  3. oracle recyclebin详解,oracle recyclebin详解
  4. origin+matlab基础绘图
  5. 一加6升级android p,一加6手机升级安卓P攻略 教你怎么更新安卓P Beta版
  6. IC/FPGA大疆笔试题分析(预分析)
  7. C标准库 limits.h
  8. Activiti工作流从入门到入土:工作流简介
  9. linux下配置java
  10. EOS开发工具Visual-studio-code和CLion设置