在调试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}", );
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}", );
msg.AppendFormat("&MsgTypeId={0}", );
msg.AppendFormat("&EntName={0}", "Mobile项目时时检测");
msg.AppendFormat("&groupId={0}", );
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.打开聊天界面,系统运行情况一目了然

当然,大的项目自然有很多监测方法,只是自己突然想到了这么个思路,挺有意思的哈~~

最新文章

  1. 使用Cordova编译Android平台程序提示:Could not reserve enough space for 2097152KB object heap
  2. string类实现(C++)
  3. 浅论Android网络请求库——android-async-http
  4. Wince 设备环境和画笔应用
  5. 初探swift语言的学习笔记四(类对象,函数)
  6. [C#参考]锁定lock
  7. StringIO模块字符串的缓存
  8. git中级技能
  9. 小隐隐于野:基于TCP反射DDoS攻击分析
  10. 【English】十二、英语句子种类,陈述句、疑问句、祈使句、感叹句
  11. Koa源码分析(一) -- generator
  12. js中字符串和正则相关的方法
  13. 字符加密 Valentino 函数 (伪分治)
  14. AngulairJS表单输入验证与mvc
  15. oracle用户密码过期!the password has expired
  16. 一些unity问题的收集
  17. SPSS-两变量相关性分析
  18. NHibernate 设置主键不自增长
  19. Mysql不同表的同名字段索引名可以相同
  20. eclipse/IDEA使用maven

热门文章

  1. select 点击的时候获取 value值
  2. UnityError The same field name is serialized multiple times in the class or its parent class. This is not supported: Base(MonoBehaviour) i
  3. 线程同步(windows平台):临界区
  4. 深入理解jQuery插件开发【转】
  5. 使用selenium时碰到的某一个坑
  6. SpringBoot | 第三十一章:MongoDB的集成和使用
  7. 解决:用nvm成功安装nodejs,却无法使用nvm和node命令
  8. VB.Net遍历已安装的程序卸载信息
  9. 写一个安全的Java单例
  10. Linux 网络(连接)相关参数作用