基于springboot来实现对日志文件内容的监控
引言
这几天需要做一个需求,需求就是监控第三方运行程序的日志,提取关键字并预警这个功能。那么我们如果用java去实现这个监控日志的功能呢?
用线程的方式来监控log日志文件
我们首先要了解以下这三个类
1、Tailer类
Tailer类的主要作用是采用线程的方式去监控日志文件的内容,简单的理解就是文件内容的跟随器,当文件内容发生变化时它就能捕获到新增内容的信息,可以理解为我们在linux服务器中常用的“tail -f”命令。
2、TailerListener类
TailerListener类是一个接口类,由TailerListenerAdapter类去实现这个类。本文来源于公众号:【Java学习提升】 专注于Java领域技术分享,Java知识体系学习、分享面试经验,让我们结伴而行,共同成长!
3、TailerListenerAdapter类
TailerListenerAdapter类可以捕获到日志新增加的内容,我们的业务代码会写在这里进行相关逻辑处理。
下面我们用例子来说明一下,本实例是基于springboot实现的。
yml文件配置:
# 监控日志的全路径
logPath: D:/dd.log
# 监控日志时间间隔
sleepInterval: 1000
java代码:
@Component
public class SmsStarted implements ApplicationRunner {
protected final static Logger log = LoggerFactory.getLogger(ServletContextAware.class);
@Value("${logPath}")
private String logPath;
@Value("${sleepInterval}")
private String sleepInterval;
@Autowired
private ISmsInfoService smsInfoService;
@Override
public void run(ApplicationArguments args) throws Exception {
TailerListener listener = new TailerListenerAdapter() {
@Override
public void handle(String line) {
try {
log.info("日志新增的内容为:" + line);
} catch (Exception ex) {
log.error("发生异常:" + ex.getMessage());
}
}
};
Tailer tailer = new Tailer(new File(logPath), listener, Integer.valueOf(sleepInterval), true);
tailer.run();
}
}
运行结果如下图所示:
上面就是我们通过java来实现对日志文件的内容监控,我们可以在handle()方法里面做我们业务逻辑上的处理就可以了
原创声明:本文为【Java学习提升】原创博文,转载请注明出处。
本文来源于公众号:【Java学习提升】 专注于Java领域技术分享,Java知识体系学习、分享面试经验,让我们结伴而行,共同成长
基于springboot来实现对日志文件内容的监控相关推荐
- linux view查看日志命令,linux查看日志文件内容命令tail、cat、tac、head、echo、vi
linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...
- linux日志手机,通过 shell 脚本 自动发送 log日志 文件内容 到手机邮箱
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 需要用到 mail 命令 如果你的系统中没有安装需要执行 (yum install -y mail sendmail) 安装 sendmail 是因为需要 ...
- springboot项目输入打印日志文件到本地
springboot项目输入打印日志文件到本地 pom.xml中添加jar包: <dependency><groupId>ch.qos.logback</groupId& ...
- java查看日志命令_[Java教程]【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...
[Java教程][Linux]linux查看日志文件内容命令tail.cat.tac.head.echo 0 2017-11-14 12:00:29 linux查看日志文件内容命令tail.cat.t ...
- linux view查看日志命令,【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...
linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...
- linux查看日志文件内容命令tail、cat、tac、head、echo、vi
linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...
- Linux命令--more(查看日志文件内容,排查问题)
原文网址:Linux命令--more(查看日志文件内容,排查问题)_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Linux的more命令的用法. more命令适用于查看比较大的文件,例如:日 ...
- python 实时监控日志文件_Python动态监控日志的内容
日志文件一般是按天产生,则通过在程序中判断文件的产生日期与当前时间,更换监控的日志文件 程序只是简单的示例一下,监控test1.log 10秒,转向监控test2.log 程序监控使用是linux的命 ...
- linux查看日志文件内容命令tail、cat、tac、head、echo
当日志文件存储日志很大时,我们就不能用vi直接进去查看日志,需要Linux的命令去完成我们的查看任务. Log位置:/var/log/message 系统启动后的信息和错误日志,是Red Hat Li ...
最新文章
- linux编译cmake
- char varchar java_在数据库中varchar与char的区别
- Ybt#452-序列合并【期望dp】
- 使用各类BeanUtils的时候,切记注意这个坑!
- x61 linux 驱动 无线网卡,Linux环境Thinkpad X61 4G内存Mtrr表错误
- wait方法为什么要放在循环里
- topjui中combobox使用
- c语言二进制转十六进制代码,C语言--二进制转十六进制
- eTerms3无法启动
- 面部关键特征点(Landmark)的定位
- idea中数据库可视化
- 从输入 URL 开始,聊一聊浏览器、网络等相关的知识
- 项目经理的知识和技能,学会这些你就是合格的PM
- Gradle build.gradle配置
- SQL Studio
- c++中无名命名空间的使用
- linux环境变量、交叉编译工具链gcc
- 用记账本记录借款、还款管理
- 【嵌入式linux】imx6ul中断学习笔记
- 信贷违约风险预测(四)训练模型
热门文章
- [人工智能-深度学习-74]:环境 - Git、Github、Gitlab、Gitee区别与联系
- 99物联 外接IPEX AFW125TO
- 第三篇:基于深度学习的人脸特征点检测 - 数据集整理
- 基地树洞 | 自动化小系列之整合篇
- dc游戏java_超级名模帝国(DC出品)
- 绕过网站安全狗,方法 适合所有
- 网络大学计算机统考缺考,网络教育统考弃考了会怎么样 统考弃考或缺考有什么影响...
- 解决搜狗浏览器下载文件小括号乱码的问题
- 基于Flask/Opencv/Dlib课堂人脸签到系统
- 会考计算机资料,高中计算机会考选择题资料(全)