地址 https://github.com/xiaoxinglai/ding
介绍
基于钉钉开放平台提供的api 封装的一个用于在钉钉群里面使用钉钉机器人发送通知消息或者报警信息的框架。 支持多个机器人,静默,异常信息保存 等。
多个机器人时分别计算限流,因为钉钉官网上介绍每个机器人每分钟只能发20条消息,如果超过 会被禁止10分钟。 因此框架内的配置的每个机器人都单独计算限流,不会触发禁止。
支持手动调用发送,方法注解,方法模版(类似spring的手动事务形式)
发送是在线程池内进行的发送,线程个数等于配置钉钉的机器人数,不阻塞当前的程序运行
效果如下
1.普通的消息通知
普通消息通知,艾特的人,在发送的时候可以填入参数,如果不填,默认选择该机器人的配置文件上的联系人。 常用于手动发送 或者 不需要发送异常信息的场景。
2.带异常信息的消息通知
异常消息的通知,常用于异常情况的通知,会打印抛出异常的类名 方法名 和行号,异常原因。
同时 点击查看异常栈详情 会跳转到查看异常栈详情的页面,查看整个异常栈。
3.静默
静默后,该消息将不会发送,直至解除静默为止。
4.查看异常栈信息
点击后跳转至查看异常栈页面 ,异常信息会保存最近的50条,淘汰最近最少查看的异常栈。
形如:
ps:这个可以修改成跳转到自己公司搭建的统一日志平台 这样就没有保存的条数限制了。
使用例子
配置文件
1.先创建配置文件
ding-config.properties
2.配置内容如下
以下是配置了两个钉钉机器人 对应两个通知业务线 如果是其他数量 依次类推
#项目域名 用于添加静默名单用
ding.post.url=http://localhost:8080
#配置业务线tag
ding.send.type.demo=demo
#发送的钉钉群url
ding.send.url.demo= https://oapi.dingtalk.com/robot/send?xxxxx
#要艾特的人的手机号列表
ding.send.name.demo= xxxx
#加密签名
ding.send.secret.demo=xxxxx
#日志异常栈启用配置 0-启用本地内存 1-启用三方存储
ding.send.localException.demo=0
#项目名称 选填 用于在自己的统一日志平台中定位日志
ding.send.logName.demo=xxxx
#配置业务线2 tag
ding.send.type.demo2=demo2
#发送的钉钉群2 url
ding.send.url.demo2= https://oapi.dingtalk.com/robot/send?xxxxx
#要艾特的人的手机号列表
ding.send.name.demo2= xxxx
#加密签名
ding.send.secret.demo2=xxxxx
#日志异常栈启用配置 0-启用本地内存 1-启用三方存储
ding.send.localException.demo2=0
#项目名称 选填 用于在自己的统一日志平台中定位日志
ding.send.logName.demo2=xxxx
调用方式
手动调用