Skip to content

27392/dingtalk-robot-spring-boot-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

一个基于钉钉机器人实现简单日志监控的SpringBoot启动器

简介

该项目是一个简单的日志监控项目,使用钉钉机器人对项目日志监控,当输出的日志满足我们定义的条件后会将其发送至钉钉群聊,达到简单的监控

例如,可以在当产生ERROR等级日志时将堆栈信息等信息发送至钉钉群聊,从而快速的定位错误

使用

  1. 首先获取到自定义机器人webhook,点我前往官方文档

  2. 将本项目克隆到本地后在项目根目录执行mvn package命令.然后将打好的jar包放在项目中的resources/lib目录下

  3. 配置maven插件,让其加载项目中的jar并在clean阶段安装到本地仓库中

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <version>3.0.0-M1</version>
            <executions>
                <execution>
                    <id>1</id>
                    <phase>clean</phase>    <!-- 生命周期 -->
                    <goals>
                        <goal>install-file</goal>
                    </goals>
                    <configuration>
                        <groupId>cn.haohaoli</groupId>
                        <artifactId>dingtalk-robot-spring-boot-starter</artifactId>
                        <version>1.1.0-RELEASE</version>
                        <file>${project.basedir}/src/main/resources/lib/dingtalk-robot-spring-boot-starter-1.1.0-RELEASE.jar</file>
                        <generatePom>false</generatePom>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
  1. 在项目中执行mvn clean安装stater至本地仓库

  2. 将依赖粘贴至pom.xml

<dependency>
    <groupId>cn.haohaoli</groupId>
    <artifactId>dingtalk-robot-spring-boot-starter</artifactId>
    <version>1.1.0-RELEASE</version>
</dependency>

参数配置

1.配置文件

ding-talk:
  robot:
    enable: true  // 是否启用
    access-token: // 填写你的accessToken

2.logback配置

新增cn.haohaoli.dingtalk.robot.log.appender.DingTalkRobotAppender类型的Appender

然后将添加至root标签内

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>

    <include resource="org/springframework/boot/logging/logback/defaults.xml" />

    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
    
    <!-- 添加 appender -->
    <appender name="DINGTALK" class="cn.haohaoli.dingtalk.robot.log.appender.DingTalkRobotAppender"/>

    <root level="info">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="DINGTALK"/>  // 添加 root标签内
    </root>

</configuration>

自定义处理

默认只输出ERROR等级日志至机器人

如果需要自定义操作

  1. 继承cn.haohaoli.dingtalk.robot.log.handle.MsgHandle接口,在getMsg方法自定义逻辑
  2. DingTalkRobotAppender,appender中添加标签<handle class="实现了MsgHandle接口的类"/>

注意! 每个机器人每分钟最多发送20条。如果超过20条,会限流10分钟. (已使用Guava中的RateLimiter做处理)

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>

    <include resource="org/springframework/boot/logging/logback/defaults.xml" />

    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />

    <appender name="DINGTALK" class="cn.haohaoli.dingtalk.robot.log.appender.DingTalkRobotAppender">
        <handle class="实现了MsgHandle接口的类"/>
    </appender>

    <root level="info">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="DINGTALK"/>
    </root>

</configuration>

About

一个基于钉钉机器人实现简单日志监控的SpringBoot启动器

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages