首页 > 其他分享 >LLog:Spring轻量级请求日志监控组件,集成管理面板,支持多条件查询检索

LLog:Spring轻量级请求日志监控组件,集成管理面板,支持多条件查询检索

时间:2024-09-10 09:26:26浏览次数:10  
标签:请求 LLog Spring 查询 datasource spring 日志 轻量级

开源地址

https://gitee.com/lboot/LLog

简介

LLog是基于AOP构建的请求日志记录和查询工具库,通过引入该工具库,完成配置,实现对接口请求日志的记录、查询检索等功能。

准备

在引入任何 Lucy系列依赖之前,需要完成jitpack镜像仓库的配置。

<repositories>
        <repository>
            <id>jitpack.io</id>
            <url>https://www.jitpack.io</url>
        </repository>
</repositories>

集成

引入

pom中引入,版本号与发行版本一致。

<dependency>
        <groupId>com.gitee.lboot</groupId>
        <artifactId>LLog</artifactId>
        <version>0.0.8</version>
</dependency>

配置

1. 白名单配置

LLog日志管理页面访问,默认仅支持 127.0.0.1的请求来源访问(即支持本地访问),如果需要支持更多的访问来源,需要配置放行IP列表,通过,分隔。

# 日志请求白名单
llog.ip.allows=127.0.0.1,198.0.0.1

2. 数据库配置

LLog基于lucy-jpa构建数据库访问,需要完成对应数据库配置。

# MySQL
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/demo?allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.username=demo
spring.datasource.password=
# JPA 允许结构替换
spring.main.allow-bean-definition-overriding=true
# 最小空闲连接数量
spring.datasource.hikari.minimum-idle=5
# 最长生命周期
spring.datasource.hikari.max-lifetime=120000
# 空闲连接存活最大时间,默认600000(10分钟)
spring.datasource.hikari.idle-timeout=50000
# 连接池最大连接数,默认是10
spring.datasource.hikari.maximum-pool-size=20
# 此属性控制从池返回的连接的默认自动提交行为,默认值:true
spring.datasource.hikari.auto-commit=true
# 连接测试查询
spring.datasource.hikari.connection-test-query=SELECT 1
# jpa 配置
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=false
spring.jpa.database=MYSQL
#自动将驼峰命名转换为小写和下划线 userId -> user_id
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
#不加这句则默认为myisam引擎
spring.jpa.database-platform= org.hibernate.dialect.MySQL5InnoDBDialect

3. 鉴权方案配置

LLog会记录用户ID和请求IP。如果需要获取到用户ID,则需要完成对鉴权服务的配置,拓展实现AuthService中的isLogingetUid接口,或者直接引入lucy-rbac等实现方案。

推荐自定义实现

@Slf4j
@Service
@AllArgsConstructor
public class DemoAuthServiceImpl implements AuthService {
    @Override
    public Boolean isLogin() {
        // return StpUtil.isLogin(); // 使用 SaToken 
        return AuthService.super.isLogin();
    }

    @Override
    public String getUid() {
        // return StpUtil.getLoginIdAsString(); // 使用 SaToken 
        return null;
    }
}

使用

@ApiLog

通过自定义注解标记需要记录请求日志的接口,实现对接口请求的自动记录。

@ApiLog("追踪测试")
@GetMapping("trace")
@ApiOperation(value = "追踪ID测试")
public ResponseDTO<Object> testTrace(){
    //
}

@ApiLog注解可配置项如下:

参数 类型 备注
value string 默认为请求所属模块名词
module string value 别名
ignoreResponse int 记录数据是否忽略响应结果,1为是,0为否
ignoreRequest int 记录数据是否忽略请求参数,1为是,0为否

管理面板

通过访问项目部署地址,进入日志查看管理页面。

http://localhost:8080/dashboard.html

支持多种条件的日志检索方式。

功能截图

1. 异常堆栈

2. 请求 & 响应数据

鼠标悬浮即可查看

3. 条件查询

条件组合查询

例如此处就是状态+接口方法组合查询,支持全部条件的组合。

关键词匹配检索

请求来源和请求参数都支持模糊查询匹配,支持条件查询与模糊查询组合使用

更新日志

0.0.8

  • [特性] 更新了lucy-spring-boot-starter 版本依赖
  • [新增] 支持了按照请求参数模糊匹配的功能
  • [修复] 修复了重置页码不变化的bug

更多...

技术支持

[email protected]

标签:请求,LLog,Spring,查询,datasource,spring,日志,轻量级
From: https://www.cnblogs.com/masterchd/p/18405784

相关文章

  • 216基于Springboot + vue实现的校园管理系统(含论文+答辩PPT)
    作者主页:夜未央5788 简介:Java领域优质创作者、Java项目、学习资料、技术互助文末获取源码项目介绍基于Springboot+vue实现的校园管理系统(含论文+答辩PPT)本系统包含管理员、用户、院校管理员三个角色。管理员角色:用户管理、院校管理、单位类别管理、院校管理员管......
  • 前端登录注册页面springboot+vue2全开发!
    需求目标:有“登录界面”和“注册界面”以及“功能操作界面”:我们打开程序会自动进入“登录界面”,如果密码输入正确则直接进入“功能操作界面”,在“登录界面”我们可以点击注册进入“注册页面”,注册好了可以再跳回到“登录界面”进行登录。代码实现:(1)登录操作后端开发见我博......
  • springboot+vue+mybatis计算机毕业设计老年人健康管理系统+PPT+论文+讲解+售后
    近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,老年人健康管理系统利用计算机网络实现信息化管理,使整个老年人健康管理的发展和服务水平有显著提升。本文拟采用Eclipse开发工具,JSP技术,SSM框架进行开发,后台使用MySQL数据库进行信息......
  • springboot+vue+mybatis计算机毕业设计网上购物系统+PPT+论文+讲解+售后
    本文首先实现了网上购物系统设计与实现管理技术的发展随后依照传统的软件开发流程,最先为系统挑选适用的言语和软件开发平台,依据需求分析开展控制模块制做和数据库查询构造设计,随后依据系统整体功能模块的设计,制作系统的功能模块图、E-R图。随后,设计框架,依据设计的框架撰写编码......
  • 实现一个基于 Spring Boot 和 Vue.js 的实时消息推送系统
    在现代互联网应用中,实时消息推送已经成为一个非常重要的功能。不论是即时通讯、通知系统,还是其他需要实时互动的应用场景,消息的实时性直接影响到用户的体验和应用的效率。在这篇文章中,我将详细介绍如何使用SpringBoot和Vue.js创建一个实时消息推送系统,并确保每个用户只......
  • 基于springboot的学生成绩管理系统的设计与实现 (含源码+sql+视频导入教程+论文+PPT)
    ......
  • 基于协同过滤推荐算法+springboot+vue的电商系统
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作​主要内容:毕业设计(Javaweb项目|小程序|Python|HTML|数据可视化|SSM|SpringBoot|Vue|Jsp|PHP......
  • SpringBoot动态SQL
    目录 动态SQL【重点】1、SQL片段2、if3、where[重点]4、set5、foreach 动态SQL【重点】动态SQL是MyBatis的强大特性之一。如果你使用过JDBC或其它类似的框架,你应该能理解根据不同条件拼接SQL语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要......
  • springmvc配置静态资源访问-三种方式
    https://blog.csdn.net/m0_47010003/article/details/124577219另外:添加tomcatservletweb.xml<!--在conf/web.xml中的DefaultServlet的定义--><servlet><servlet-name>default</servlet-name><servlet-class>org.apache.catalina.servlets.Def......
  • 【Java毕设最新选题推荐2025】基于springboot的酒店管理系统
    摘 要21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。论文主要是对酒店管理系统......