Spring切面实现日志记录

关于切面拦截以及配置请移步本人博客:
=1010.2135.3001.5343

由于本人用的是登陆方法试验,session内容为空,所以特在前端设置一个session演示切面内获取session
在请求发起前设置session:<%session.setAttribute(“wname”, “移动端,MOVE”);%>
请求方法
/

/登陆请求function login() {log();<%session.setAttribute("wname", "移动端,MOVE");%>var layerIndex = layer.load();$("#formLogin").ajaxSubmit(function(data) {if (typeof data == "string") {data = JSON.parse(data);}layer.close(layerIndex);if (data.state == true) {showToastr('登陆验证', '登录成功</br>即将进行跳转!', 2, 2000, '', true, 5);setTimeout(function() {window.location.href = "${ctx}/mainController/main.com";}, 2000);} else {resetIdentity();/* layer.msg(data.msg); *///5默认1; 1:右上,2:右下,3:左下,4:左上,5:顶部全宽,6:底部全宽,7:顶部居中,8:底部居中showToastr('登陆验证', data.msg, 4, 2000, true, true, 5);//标题-提示内容-样式(1冒泡蓝2√绿3!黄4!红)-时间-关闭按钮-进度条-位置}});}
// 前置通知@Before(value="myPointCut()")private void myBefor(JoinPoint joinpoint) {System.out.println("验证前置通知");System.err.print("目标:"+joinpoint.getTarget() );System.out.print("方法名称:"+joinpoint.getSignature().getName());System.out.println("参数名:"+((CodeSignature) joinpoint.getSignature()).getParameterNames()[0]);System.out.println("参数名:"+((Object[])joinpoint.getArgs())[0]);ServletRequestAttributes attr = null;//从RequestContextHolder中取得请求中所得到的信息attr = (ServletRequestAttributes)RequestContextHolder.currentRequestAttributes();//从请求中获取sessionHttpSession session=attr.getRequest().getSession(true);//从session中获取对应的值String nameString=(String) session.getAttribute("wname");System.out.println("Session内容="+nameString);//添加日志信息//方法就不发出来了,老长了iLogService.insertlog(new SLog(0,0,new Date(),"爱死亡","机器人","尝试登录",true));}

以下为运行结果及数据库日志信息

Spring切面实现日志记录

关于切面拦截以及配置请移步本人博客:
=1010.2135.3001.5343

由于本人用的是登陆方法试验,session内容为空,所以特在前端设置一个session演示切面内获取session
在请求发起前设置session:<%session.setAttribute(“wname”, “移动端,MOVE”);%>
请求方法
/

/登陆请求function login() {log();<%session.setAttribute("wname", "移动端,MOVE");%>var layerIndex = layer.load();$("#formLogin").ajaxSubmit(function(data) {if (typeof data == "string") {data = JSON.parse(data);}layer.close(layerIndex);if (data.state == true) {showToastr('登陆验证', '登录成功</br>即将进行跳转!', 2, 2000, '', true, 5);setTimeout(function() {window.location.href = "${ctx}/mainController/main.com";}, 2000);} else {resetIdentity();/* layer.msg(data.msg); *///5默认1; 1:右上,2:右下,3:左下,4:左上,5:顶部全宽,6:底部全宽,7:顶部居中,8:底部居中showToastr('登陆验证', data.msg, 4, 2000, true, true, 5);//标题-提示内容-样式(1冒泡蓝2√绿3!黄4!红)-时间-关闭按钮-进度条-位置}});}
// 前置通知@Before(value="myPointCut()")private void myBefor(JoinPoint joinpoint) {System.out.println("验证前置通知");System.err.print("目标:"+joinpoint.getTarget() );System.out.print("方法名称:"+joinpoint.getSignature().getName());System.out.println("参数名:"+((CodeSignature) joinpoint.getSignature()).getParameterNames()[0]);System.out.println("参数名:"+((Object[])joinpoint.getArgs())[0]);ServletRequestAttributes attr = null;//从RequestContextHolder中取得请求中所得到的信息attr = (ServletRequestAttributes)RequestContextHolder.currentRequestAttributes();//从请求中获取sessionHttpSession session=attr.getRequest().getSession(true);//从session中获取对应的值String nameString=(String) session.getAttribute("wname");System.out.println("Session内容="+nameString);//添加日志信息//方法就不发出来了,老长了iLogService.insertlog(new SLog(0,0,new Date(),"爱死亡","机器人","尝试登录",true));}

以下为运行结果及数据库日志信息