基于javaagent + 字节码技术的aop日志中间件的设计与实现.docx

资料分类:计算机信息 上传会员:梅花落 更新时间:2025-06-01
需要金币1000 个金币 资料包括:完整论文 下载论文
转换比率:金额 X 10=金币数量, 例100元=1000金币 论文字数:17998
折扣与优惠:团购最低可5折优惠 - 了解详情 论文格式:Word格式(*.doc)
摘要:随着互联网公司微服务系统架构的盛行,公司大大小小系统的增多,公司各个项目之间的日志打印格式混乱跨系统之间查找定位bug繁琐,AOP日志采集方式不具有通用性,日志查找方式落后复杂性,建立通用和个性化的日志打印中间件,及为了展示中间件打印的日志,建立了Java 日志追踪的平台,从日志的产生到收集,到最终展示的日志全生命周期的日志中间件+web系统,解决微服务系统之间的日志格式不同,链路追踪难,查日志方式落后的问题。
本LogAgent日志中间件基于Java 语言中的Java agent 插桩技术及Byte Buddy 的字节码技术,采用一种无代码侵入的方式来对业务通用执行日志进行AOP的目的,作用于类加载时期,通过配置配置文件中的参数来完成对要打印日志的精细化自定义化打印,为了建立能展示完整的日志的生命周期的系统,建立了一个支持链路最终的LogTrace链路追踪系统。
中间件及系统最终实现的功能,接入方便,使用简单,界面简洁,对开发人员友好。
 
关键词:JavaAgent;ByteBuddy;SpringBoot;Redis;日志框架
 
目录
摘要
Abstract
1 系统概述-1
1.1 开发背景-1
1.2 系统研究现状及发展趋势-1
1.3 系统设计的目的-2
1.4 论文组织架构-2
2 系统开发所采用的技术-3
2.1 JavaAgent-3
2.2 ByteBuddy-3
2.3 Redis-3
2.4 SpringBoot-4
2.5 AOP-4
2.6 Logback-4
2.7 Elasticsearch-4
3 需求分析-5
3.1 系统可行性分析-5
3.1.1技术可行性-5
3.1.2 经济可行性-7
3.1.3 法律可行性-7
3.2 需求分析-7
3.2.1 功能性需求分析-7
3.2.2 非功能性需求-9
3.3 系统开发环境-9
4 系统总体设计-10
4.1系统主要功能设计-10
4.2 各功能模块设计-12
4.3 功能模块代码架构-14
4.3.1 LogAgent模块组成-14
4.3.2 log-agnet-core模块下的各个包依赖关系-14
4.3.3  LogTrace 模块组成-14
4.4 项目代码类清单及类关联说明-15
4.5 持久化方式选择与技术选型-21
4.4.1日志登录功能表的详情设计-21
5 系统详细设计与实现-22
5.1 LogAgent中间件详细设计与实现-22
5.1.1  接入web系统-22
5.1.2对HTTPServlet中的Service()和Filter()为切点进行AOP增强-23
5.1.3 对通用方法的AOP增强-30
5.2 LogTrace链路追踪系统-35
5.2.1接入日志系统-35
5.2.2日志格式化-37
5.2.3将日志投递到消息队列中-38
5.2.4展示日志信息-42
5.2.5检索日志信息-43
5.2.6追踪码链路追踪-45
5.2.7消费客户端的日志信息-47
5.2.8用户登录和注册-50
6 系统测试-53
6.1 测试概论-53
6.2 LogAgent中间件功能测试-53
6.3 LogTrace链路追踪系统功能测试-54
6.4  非功能测试-56
总  结-57
致  谢-58
参考文献-59
相关论文资料:
最新评论
上传会员 梅花落 对本文的描述:目前公司中的现状为:各个web系统查看日志和对日志进行搜索的方式落后,缺乏一个日志平台。经调研,行业中目前美团的mtrace日志服务系统,提供了一个日志收集展示的平台,mtrace的......
发表评论 (我们特别支持正能量传递,您的参与就是我们最好的动力)
注册会员后发表精彩评论奖励积分,积分可以换金币,用于下载需要金币的原创资料。
您的昵称: 验证码: