java 把log4j封装成utils_Log4j 结合钉钉打造日志机器人

在平常的开发中,找问题时,看日志经常是不可或缺的一件事件。对于错误日志,我们更是希望能够立马悉知,迅速对错误追本溯源,然后对错误进行修正。钉钉机器人的出现,无疑为我们第一时间对错误日志进行响应,提供了绝妙的工具。

自定义钉钉机器人

创建钉钉机器人

钉钉机器人只支持在群聊中创建,因而首先我们需要拥有一个群聊,然后在 “聊天设置” 中,找到 “智能群助手”,点击 “添加更多”,选择 “自定义”:

b1acf74e34886a7cde9146fc23c4c72d.png

点击 “添加” 后,设置机器人名称(和头像),便完成了机器人的自定义,然后你会获得一个 webhook:

d6bbdba8ee0358fa12a0959e47dd4737.png

这个 webhook 是一个 URL,我们可以向这个 URL 发起 POST 请求,从而将我们的日志数据,发送给日志机器人,然后日志机器人产出消息提醒。钉钉支持多种消息类型,包括:text 类型、link 类型、markdown 类型等等,详细可见 钉钉开发平台。对于我们的日志消息来说,一般 text 类型就行。

Text 类型

text 类型的消息的格式如下:

{

"msgtype": "text",

"text": {

"content": "我就是我, 是不一样的烟火@156xxxx8827"

},

"at": {

"atMobiles": [

"156xxxx8827",

"189xxxx8325"

],

"isAtAll": false

}

}

参数

参数类型

必须

说明

msgtype

String

消息类型,此时固定为:text

content

String

消息内容

atMobiles

Array

被@人的手机号

isAtAll

bool

@所有人时:true,否则为:false

使用 okHttp 发送消息

下面基于 okHttp 来演示如何发送 text 类型消息。首先我们定义消息的结构:

/**

* 抽象消息类型(方便将来扩展其他类型的消息)

*/

public abstract class BaseMessage {

private List atMobiles;

private boolean atAll;

/**

* 转为 JSON 格式的请求体

*

* @return 当前消息对应的请求体

*/

public abstract String toRequestBody();

public void addAtMobile(String atMobile) {

if (atMobiles == null) {

atMobiles = new ArrayList<>(1);

}

atMobiles.add(atMobile);

}

public void setAtAll(boolean atAll) {

this.atAll = atAll;

}

public List getAtMobiles() {

return atMobiles != null ? atMobiles : Collections.emptyList();

}

public boolean isAtAll() {

return atAll;

}

}

/**

* 文本消息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值