一种基于J2EE平台的日志记录方法及用户关联插件与流程

文档序号:17262825发布日期:2019-03-30 09:47阅读:205来源:国知局
一种基于J2EE平台的日志记录方法及用户关联插件与流程

本发明涉及日志收集技术领域,具体涉及一种基于j2ee平台的日志记录方法及用户关联插件。



背景技术:

随着互联网技术的迅速发展,各种应用程序由原来的c/s模式逐渐转化为b/s模式,目前企业中web应用程序的开发多采用j2ee平台。由于java语言的跨平台特性,绝大部分应用都采用了基于j2ee平台的mvc设计模式,mvc即:数据层、视图层、控制层。

在开发web应用的时候,保存用户操作日志是一个基本的功能,一般记录用户操作日志都是在控制层的,传统的日志记录基本都保存到数据库中,随着大数据分析越来越重要,日志存储的灵活性也变得很重要,同时随时微服务的快速发展,独立开发的模块也越来越多,每个模块都有记录日志的功能,设计一种通用的日志记录功能,减少繁琐重复性工作变的越来越重要。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种基于j2ee平台的日志记录方法及用户关联插件,提升日志存储的灵活性,同时减少繁琐重复性工作。

为实现上述目的,本发明采用的技术方案如下:

一种基于j2ee平台的日志记录方法,包括:

s1、当用户通过浏览器登录web系统时,触发用户关联插件获取用户的登录信息,所述登录信息包括:用户名、ip地址和登录时间;

s2、当用户登录成功后访问web系统的各种业务功能时,触发所述用户关联插件生成对应的一条日志记录并保存到数据库中。

进一步,如上所述的一种基于j2ee平台的日志记录方法,所述日志记录包括:用户名、ip地址、操作的开始时间、操作的结束时间、业务名称、类名称、方法名称、参数信息。

进一步,如上所述的一种基于j2ee平台的日志记录方法,步骤s2中,所述用户关联插件根据所述类名称和所述方法名称通过配置的字典关联得到所述业务名称,其中,关联信息是通过热加载的方式从配置文件或所述数据库中读取得到,所述业务名称中包括日志类型。

进一步,如上所述的一种基于j2ee平台的日志记录方法,步骤s1中,所述用户关联插件通过登录的url获取用户的登录信息或者根据属性名称从会话中获取用户的登录信息;所述用户关联插件监听中间件的会话失效方法,当确认会话失效时触发删除用户的登录信息的动作。

进一步,如上所述的一种基于j2ee平台的日志记录方法,在步骤s1之前,还包括:

将所述用户关联插件以独立的jar文件的形式放入所述中间件的classpath参数中,同时修改所述中间件的启动脚本,添加javaagent参数,配置代理插件。

进一步,如上所述的一种基于j2ee平台的日志记录方法,所述数据库为mysql数据库,在使用所述数据库之前,完成jdbc连接mysql数据库的配置。

本发明实施例中还提供了一种用户关联插件,所述用户关联插件是基于java的agent技术通过动态修改java字节码得到,所述用户关联插件用于当用户通过浏览器登录web系统时,获取用户的登录信息,所述登录信息包括:用户名、ip地址和登录时间;还用于当用户登录成功后访问web系统的各种业务功能时,生成对应的一条日志记录并保存到数据库中。

进一步,如上所述的一种用户关联插件,所述日志记录包括:用户名、ip地址、操作的开始时间、操作的结束时间、业务名称、类名称、方法名称、参数信息。

进一步,如上所述的一种用户关联插件,所述用户关联插件具体用于根据所述类名称和所述方法名称通过配置的字典关联得到所述业务名称,其中,关联信息是通过热加载的方式从配置文件或所述数据库中读取得到,所述业务名称中包括日志类型。

进一步,如上所述的一种用户关联插件,所述用户关联插件具体用于通过登录的url获取用户的登录信息或者根据属性名称从会话中获取用户的登录信息;所述用户关联插件还用于监听中间件的会话失效方法,当确认会话失效时触发删除用户的登录信息的动作。

本发明的有益效果在于:本发明所提供的日志记录方法及用户关联插件,通过用户关联插件对应用无侵入完成通用操作日志的记录,提升日志存储的灵活性,同时减少繁琐重复性工作。

附图说明

图1为本发明实施例中提供的一种基于j2ee平台的日志记录方法的流程示意图;

图2为本发明实施例中提供的一种基于j2ee平台的日志记录方法的时序图。

具体实施方式

下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。

如图1所示,一种基于j2ee平台的日志记录方法,包括:

s1、当用户通过浏览器登录web系统时,触发用户关联插件获取用户的登录信息,登录信息包括:用户名、ip地址和登录时间;

s2、当用户登录成功后访问web系统的各种业务功能时,触发用户关联插件生成对应的一条日志记录并保存到数据库中。

日志记录包括:用户名、ip地址、操作的开始时间、操作的结束时间、业务名称、类名称、方法名称、参数信息。

步骤s2中,用户关联插件根据类名称和方法名称通过配置的字典关联得到业务名称,其中,关联信息是从配置文件或数据库中读取得到,业务名称中包括日志类型。

步骤s2中,用户关联插件通过热加载的方式从配置文件中读取关联信息。

步骤s1中,用户关联插件通过登录的url获取用户的登录信息或者根据属性名称从会话中获取用户的登录信息;用户关联插件监听中间件的会话失效方法,当确认会话失效时触发删除用户的登录信息的动作。

在步骤s1之前,还包括:

将用户关联插件以独立的jar文件的形式放入中间件的classpath参数中,同时修改中间件的启动脚本,添加javaagent参数,配置代理插件。

数据库为mysql数据库,在使用数据库之前,完成jdbc连接mysql数据库的配置。

本发明实施例中还提供了一种用户关联插件,用户关联插件是基于java的agent技术通过动态修改java字节码得到,用户关联插件用于当用户通过浏览器登录web系统时,获取用户的登录信息,登录信息包括:用户名、ip地址和登录时间;还用于当用户登录成功后访问web系统的各种业务功能时,生成对应的一条日志记录并保存到数据库中。

日志记录包括:用户名、ip地址、操作的开始时间、操作的结束时间、业务名称、类名称、方法名称、参数信息。

用户关联插件具体用于根据类名称和方法名称通过配置的字典关联得到业务名称,其中,关联信息是从配置文件或数据库中读取得到,业务名称中包括日志类型。

用户关联插件具体用于通过热加载的方式从配置文件中读取关联信息。

用户关联插件具体用于通过登录的url获取用户的登录信息或者根据属性名称从会话中获取用户的登录信息;用户关联插件还用于监听中间件的会话失效方法,当确认会话失效时触发删除用户的登录信息的动作。

首先,用户关联插件主要以独立的jar文件的形式出现,需要将其放入中间件的classpath参数中,同时修改中间件的启动脚本,添加javaagent参数配置代理插件。

用户通过浏览器登录web应用时,用户关联插件获取并保存用户登录的信息,当用户登录成功后访问web系统进行各种业务功能操作的时候,关联插件会产生一条日志记录,保存到数据库中。

用户关联插件,是基于java的agent技术通过动态修改java字节码来实现获取诸如:用户名、ip地址、操作的开始时间、操作的结束时间、业务名称、类名称、方法名称、参数信息等信息。

为了友好性展示日志属于那个模块,增加了业务名称字段,此字段是根据类名称和方法名称通过配置的字典关联出来的,关联方式可以读取配置文件或者从数据库中读取。

日志存储一般都是保存到主流的数据库中,也可以通过定制化开发,实现日志保存到任意数据源中。

业务名称关联字典默认是没有配置的,根据实际的需要按需增加配置就可以了,支持字典热加载而无需重启中间件。

配置日志保存的数据源,默认是保存到mysql数据库中的,事先需要完成jdbc连接mysql数据库的配置。

配置关联插件获取用户信息的登录url或者会话中属性名称获取当前登录的用户名称。

如图2所示,一种基于j2ee平台的日志记录方法的流程步骤包括:

s101、用户向业务action发起功能操作;

s102、关联插件保存用户信息;

s103、业务action向业务service发出请求;

s104、业务service向业务action返回结果;

s105、关联插件生成一条操作日志;

s106、业务action将操作日志保存在数据库中;

s107、数据库向业务action返回结果;

s108、业务action向用户返回结果。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1