基于springboot来实现对日志文件内容的监控

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 基于springboot来实现对日志文件内容的监控

用线程的方式来监控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();
}
}

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
20天前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
64 5
|
19天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
128 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
19天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
【赵渝强老师】Oracle的控制文件与归档日志文件
|
26天前
|
Java 应用服务中间件
SpringBoot获取项目文件的绝对路径和相对路径
SpringBoot获取项目文件的绝对路径和相对路径
63 1
SpringBoot获取项目文件的绝对路径和相对路径
|
20天前
|
网络协议 Java
springboot配置hosts文件
springboot配置hosts文件
44 11
|
12天前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
24 1
|
2月前
|
XML Java Kotlin
springboot + minio + kkfile实现文件预览
本文介绍了如何在容器中安装和启动kkfileviewer,并通过Spring Boot集成MinIO实现文件上传与预览功能。首先,通过下载kkfileviewer源码并构建Docker镜像来部署文件预览服务。接着,在Spring Boot项目中添加MinIO依赖,配置MinIO客户端,并实现文件上传与获取预览链接的接口。最后,通过测试验证文件上传和预览功能的正确性。
springboot + minio + kkfile实现文件预览
|
19天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
|
25天前
|
存储 前端开发 JavaScript
|
25天前
|
存储 Java API