教你用SingalR实现后台开发程序运行时时检测
在调试js的时候都喜欢用console.log输出相应的运行结果或者查看变量值,以便于调试程序bug,可是程序后台代码运行的时候,本地没有问题,线上代码有问题怎么办呢,写日志是一个办法,可是有没有更直观的方式呢,时时监测代码运行情况,那么既然SingalR有时时推送的功能,我自己突发奇想想了这么个写日志的方法。
首先,拿出之前聊天室的项目。先截一个图:
第二,你只需要知道singalR服务地址就可以了。我写的代码如下(只是举例,各种方案不一样):
public static void PushLog(string message) { var pushUrl = "http://XXXXXXX/ChatPush/XXXXXXX"; StringBuilder msg = new StringBuilder(); msg.AppendFormat("ChatMsgId={0}", Guid.NewGuid().ToString()); msg.AppendFormat("&CvNumber={0}", 747227); msg.AppendFormat("&Contents={0}", message); msg.AppendFormat("&UserPhoto={0}", "http://img1.gurucv.com/image/417c1ab3-f0ed-4080-9189-a6bb3a381ba9_per_middle.png?t=52442424-7c77-4c01-aae5-43fee8371c3f"); msg.AppendFormat("&UserName={0}", "[系统监测]"); msg.AppendFormat("&EntCvNumber={0}", 90000956); msg.AppendFormat("&MsgTypeId={0}", 0); msg.AppendFormat("&EntName={0}", "Mobile项目时时检测"); msg.AppendFormat("&groupId={0}", 90000956); msg.AppendFormat("&AddTimeStr={0}", DateTime.Now.ToString()); var json = msg.ToString(); var result = HttpHelper.SendPost(pushUrl, json); }
好了,大功告成,调用方式很简单了,例如,在做微信授权功能的时候,我想知道,code是否获取到,就在获取code的代码里面插上一句:
Utils.PushLog("当前获取的code为:" + code);
那么当发布到线上的时候,你想检测某些代码的运行情况,打开客户端聊天室,就会收到系统发送过来的消息啦。
写的比较粗糙,总结一下:
1.先用singalR搭建好服务器,(搭建方法可以参考我的另外几篇聊天室博客)界面可以简单一些,开放推送接口。例如我项目的推送接口为 http://singalR.server/chatmsg/push (举例)
2.自己项目里写上推送方法,调用即可
3.打开聊天界面,系统运行情况一目了然
当然,大的项目自然有很多监测方法,只是自己突然想到了这么个思路,挺有意思的哈~~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?