试试把报警日志发到微信上

一、前言

笔者所在公司项目的报警信息会通过钉钉发送到群组或个人,这样如果服务出现了问题我们都会第一时间收到提醒并进行处理。

某日从钉钉收到报警信息的我突发奇想,如果自己的项目也能在出现问题的第一时间通过社交工具通知我岂不美 ( sang ) 滋 ( xin )滋( bing ) ( kuang )。

通过微信公众平台进行报警很容易,申请公众平台后写个报警后台或者使用企业微信进行接口信息发送。

但不管是公众平台还是企业微信对于普通用户的入口太深,而且个人申请还需要提交资料等等一系列事情,显然不是我想要的结果。

之前 web 版微信的协议已经有大神解析过并封装了工具,之后又有优秀的作者不断完善封装了更好用的微信个人号接口。

利用微信个人号接口只要是个微信号就能担当发送日志警报的重任,不仅可以发送到个人同时还能发送到群组。

但是所有微信机器人都是自己主动运行,注册会话,没有办法接收外部程序的日志或报警,因此我就依托 wxpy 写了 wechat_sender。

二、wechat_sender

wechat_sender 是基于 wxpy (https://github.com/youfou/wxpy)和 tornado 实现的一个可以将你的网站、爬虫、脚本等其他应用中各种消息 (日志、报警、运行结果等) 发送到微信的工具。

使用 wechat_sender 很简单,只需要有个人微信号,然后用个人微信号启动 wechat_sender 服务。

pip install wechat_sender

1、登录微信并启动 wechat_sender 服务.

from wxpy import *
   from wechat_sender import *
   bot = Bot() # 这里会扫码登录,如果在服务器中请使用 console_qr 参数
   listen(bot)
   # 之后 wechat_sender 将持续运行等待接收外部消息

2、在另一个脚本中向微信发送消息.

  from wechat_sender import Sender
   Sender().send(‘Hello From Wechat Sender‘)
   # Hello From Wechat Sender 这条消息将通过 1 中登录微信的文件助手发送给你

当然,wechat_sender 支持 添加 logging handler 的方式直接继承进已有的项目中,例如我的个人的网站、爬虫脚本等,不必修改以前的代码,只需要在 logger 中增加一个 wechat_sender 的 loghandler 就可以把相关日志直接发送到微信中。

举个栗子:

# spider.py
# 假如在一个爬虫脚本,我们想让此脚本的警告信息直接发到微信
# 记得要先用 listen 运行 wechat_sender  服务

import logging
from wechat_sender import LoggingSenderHandler
logger = logging.getLogger(__name__)

# spider code here
def test_spider():
    ...
    logger.exception("EXCEPTION: XXX")

def init_logger():
    sender_logger = LoggingSenderHandler(‘spider‘, level=logging.EXCEPTION)
    logger.addHandler(sender_logger)

if __name__ == ‘__main__‘:
    init_logger()
    test_spider()

最后类似效果是这样滴:

当然,wechat_sender 不仅可以用来发送日志和警报,你也可以把他当做日程、会议提醒的利器。

wechat_sender 提供了周期消息和延时消息的功能:

# coding: utf-8
import datetime
from wechat_sender import Sender

sender = Sender()
time = datetime.datetime.now()+datetime.timedelta(hours=1)
sender.delay_send(content="测试内容", time=time, title="测试标题", remind=datetime.timedelta(minutes=59))

如果返回正常,1 分钟后你将收到这条消息时间是 1 小时后的消息提醒:

作者丨rapospectre

来源丨segmentfault

原文地址:https://segmentfault.com/a/1190000009717078

Python学习群:238757010

原文地址:https://www.cnblogs.com/reboot51/p/8778130.html

时间: 2024-10-29 15:06:00

试试把报警日志发到微信上的相关文章

Linux中使用Shell把报警信息发送至邮件和微信上

Linux中使用Shell把报警信息发送至邮件和微信上 创建企业微信报警 注册一个企业微信号 点击企业微信,进行企业注册. 注册成功后会看到企业信息页面,把企业ID先记录下来,后面发送报警脚本里需要配置. 创建一个部门,专供发送报警用,并添加需要接收报警的成员 点击"通讯录",再点击+号,选择添加部门 把部门ID记录下来,后面配置web端用户报警媒介的收件人要用到. 给刚创建的部门添加成员,可以直接添加成员也可以微信邀请,可以先将管理员微信添加进来. 新增一个第三方应用 点击应用与小程

老板微信上发来的CAD图纸应该如何进行打开呢?

老板微信上发来的CAD图纸应该如何进行打开呢?当出差在外或是下班或到家里的时候,老板突然在微信上给你发了一张CAD图纸文件需要你对其进行打开查看的时候,我们应该如何进行此项操作呢?今天小编就要来教教大家微信上接收到的CAD图纸文件如何立即进行打开查看的全部操作步骤,请往下进行查看! 第一步:首先要打开您手机上面的CAD看图软件,小编使用的是这款"迅捷CAD看图"软件,如果你们手机上有的没有CAD看图软件的话,你们可以去到手机上面的软件应用商店上面进行搜索下载,如果你在手机软件商店上搜索

警惕微信上主动加你的“美女”

俗话说得好"自古真情留不住,唯有套路得人心",今天咱们来谈谈现在微信上的常见诈骗套路. 很多人会发现,经常有美女头像的陌生人加自己微信好友,比如下面这个人: 特别要注意这个来源,一般有两种,一种是"通讯录好友",另一种是"搜索手机号".不管是哪一种,都意味着你的电话号码已经泄露了. 加你的人看上去是"美女",但我可以给你保证,对方有99%的概率是个男人,他是骗子公司的员工,他们公司的业务就是忽悠人来黑平台投资,然后把你的钱黑掉

【ZT】在微信上有哪些高情商的说话方式 | M周刊(听语音需要60秒,看文字只需10秒)

https://baijiahao.baidu.com/s?id=1590547145580792217&wfr=spider&for=pc https://yuedu.baidu.com/hybrid/column/78adfd69b207e87101f69e3143323968011cf4e9; 在微信上有哪些高情商的说话方式 | M周刊 晓报告 01-26 订阅 复杂的商业世界,听吴晓波就够了 点击上图▲成为会员 加入超45万人的财经知识社群 文/巴九灵(微信公众号:吴晓波频道) 小

手机微信上接收到的一张CAD图纸如何打开?

手机微信上接收到的一张CAD图纸如何打开?微信这款社交软件是现在不管年轻人还是老年人都忠爱的一款社交软件,不仅能够在上面进行聊天等操作,还可以分享自己的动态和心情,那么如果有朋友或是上司直接在微信上给你发了一张CAD图纸文件的话,应该怎样进行图纸的查看呢,今天小编就来教教大家手机上怎么查看微信上面的CAD图纸,希望大家进行采纳,具体操作步骤如下! 第一步:首先您的手机上面应该要有一款好用的CAD看图软件,小编使用的就是这款"迅捷CAD看图"软件,如果您们手机上没有一款CAD看图软件的话

如何快速的把日志输出到磁盘上

不管是做客户端业务,还是做服务端业务,日志子系统都是非常重要的一个组件. 日志系统的输出目的地可以是disk,也可以是tty,更可以是network. 我的日志系统可以输出到tty,不同log level可以有不同的color,这样看日志非常的醒目,当然这里着重谈的是如何快速的把log内容写到磁盘上. 其实,如何快速的把log内容写到磁盘上,网上文章已经汗牛充栋,真正高质量的没多少,本篇可能也是狗尾续貂之作.不过,我的log子系统能够达到106M/s的输出速率. 详细介绍我的log系统之前,推荐

微信上 网页图片点击全屏放大

实现微信上网页的图片点击后全屏还可以可以缩放,这个功能是别人做的,可是捏点击后屏幕直接黑屏了,图片没有显示出来.这个代码在网上搜一下,挺多类似的. 先上代码. function arrayToJson(o) { var r = []; if (typeof o == "string") return "\"" + o.replace(/([\'\"\\])/g, "\\$1").replace(/(\n)/g, "\

微信上足记刷存在感 不能长红为哪般?

长江后浪推前浪,前浪死在沙滩上,这一句话用来形容现在移动应用.游戏再合适不过了.但如果在移动商店中的换代速度是自行车的20码,那在微信朋友圈上火爆应用.游戏的更迭速度绝对是法拉利的300码!在魔漫相机.2048.脸萌等火爆情况还留在人们脑海之中时,又一爆款应用来袭,那就是以把生活变成电影为主旨的"足记". 但事实求是地说,足记只不过是微信发展浪潮中的一个小浪花而已.但正是这些无数的小浪花,让微信始终占据社交通信应用霸主的地位.只是可惜的是,微信上始终缺少一款长红.经典又能真正成长起来的

pointer-events/H5页面在iphone6 plus的微信上出现闪退

一.pointer-events 1.元素加上pointer-events:none后,在js中加点击事件不好使 原因:pointer-events:none关闭所有点击事件,包括js总的 解决:删掉该属性 2.移动端开发,页末尾的按键点击不好使 原因:为了适配大屏幕,下一页有元素图片切得比较大,当用户滑到上一页时,下一页元素覆盖了该按钮. 解决:在下一页元素上加pointer-events:none 二.H5页面在iphone6 plus的微信上出现闪退 原因:h5页数较多,并且每页中动画和元