`
cjnetwork
  • 浏览: 176691 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

spring aop 日志记录

阅读更多
spring aop 日志记录


   需要日志记录,将所有的web操作记录到数据库中,使用aop来记录日志,当然是一个好的选择,spring中集成aop记录日志的方式有多种(aop的配置方式有多种,注解、xml配置),这里只说一个xml配置的例子。

   1、编写日志记录类
   2、配置aop

   1、编写日志记录类
   
@SuppressWarnings("unchecked")
public class LogService {

	
	public void logAll(JoinPoint jp){
		System.out.println("in LogService, method logAll invoked.");
		System.out.println("========================");
		StringBuilder sb = new StringBuilder();
		sb.append("method:" + jp.getSignature().getName());
		
		HttpServletRequest request = ServletActionContext.getRequest();
		Iterator<Entry<String, Object>> iter = request.getParameterMap().entrySet().iterator();
		boolean isFirst = true;
		sb.append(" paras:");
		while(iter.hasNext()){
			Entry<String, Object> entry = iter.next();
			if(isFirst){
				isFirst = false;
			}else{
				sb.append("#");
			}
			sb.append(entry.getKey() + "=");
			Object[] allValue = (Object[]) entry.getValue();
			for(int i = 0; i < allValue.length; i++){
				if(i != 0){
					sb.append(",");
				}
				sb.append(allValue[i].toString());
			}
		}
		
		System.out.println(sb.toString());
		System.out.println("========================");
	}
}
    


   2、配置aop
   在applicationContext.xml中配置
  
<aop:config>
 <aop:aspect id="myAspect" ref="logService">
  <aop:pointcut expression="execution(* com.cjnetwork.cms.action.*.*(..))" id="logPointCut"/>
  <aop:before method="logAll" pointcut-ref="logPointCut"/>
 </aop:aspect>
</aop:config>
		
 <bean id="logService" class="com.cjnetwork.cms.service.LogService"></bean>

   

<aop:config proxy-target-class="true" />


基本配置就是这样的,这里需要配置<aop:config proxy-target-class="true" /> ,表示强制使用cglib代理,而不是java本身的代理,这个很重要,如果使用java自带的代理,则会抛出异常,提示说代理类无法转换为我们自己的类,这是因为默认的该属性为false,这种代理方式,需要实现接口的方式,代理返回的类可以转换为对应的接口类,但无法直接转换为类的实现,这种方式不推荐。
分享到:
评论

相关推荐

    spring aop 操作日志

    本资源用来展示如何使用 spring aop 进行日志记录,例子里面通过aop的配置,把产生的日志存放到当前项目的根目录下,而且对方法执行过程中的参数进行了记录,对于aop如何记录日志不清楚的同学可以看看。

    spring aop 自定义注解保存操作日志到mysql数据库 源码

    4、想看spring aop 注解实现记录系统日志并入库等 二、能学到什么 1、收获可用源码 2、能够清楚的知道如何用spring aop实现自定义注解以及注解的逻辑实现 (需要知道原理的请看spring aop源码,此处不做赘述) 3、...

    swagger和spring Aop日志结合

    swagger和spring Aop日志结合 ,swagger和spring Aop日志结合 ,swagger和spring Aop日志结合 ,

    Spring AOP日志切面

    结合logback和切面对参数名和参数值,方法运行时间,方法返回值记录日志,pom中需要添加ogback和切面依赖。

    Spring AOP实战 记录日志 下载可以直接使用

    内容概要: 充分利用SpringBoot AOP设计的精妙日志记录方案,实现高效的日志处理策略。此外,我们还支持通过配置文件(yml)精准控制日志开关,并定制AOP切点表达式(Pointcut)。 适用人群: 针对资深Java开发者、...

    Spring之AOP在鉴权和日志记录中的应用

    Spring之AOP在鉴权和日志记录中的应用

    SpringAOP实例.docx

    使用SpringAOP完成日志记录功能的实例

    Flex整合Spring实现aop日志管理

    Flex整合Spring实现aop日志管理 实现记录操作的日志

    spring aop生成日志文件

    利用自定义注解和spring aop和java反射机制生成用户能够读懂的日志记录。如:用户张三在2013年9月27日17:00执行了用户管理模块的用户删除功能参数为(编号:123456)各位可根据需要写入数据库或者保存到文件。

    JAVA 中Spring aop 实现日志记载

    该压缩包中包含了一个myeclipse6.5下开发的JAVA基于spring实现的日志记载例子,该例子提供了接受切点参数,解析切点返回值,并且都打印出来了,有详细的文档介绍。

    Spring-AOP.rar_spring aop 日志

    AOP技术则是将日志记录和安全检测代码封装为方法,在处理业务逻辑之前分别调用已经封装好的方法即可,有效解决重复性代码的问题,并为程序开发、调试带来极大方便

    使用Spring AOP对异常进行统一处理

    2.需要记录异常日志时没有记录,或者异常在不同的地方重复记录,使得排错调试不方便 3.处理日志时,需要在每一个try-catch块包含一些处理代码,有时候异常处理的代码比正常执行代码还多,污染正常执行代码。 4.同样...

    Spring AOP的简单实现

    使用Spring的AOP技术,实现日志记录功能。记录如下信息: 在哪个时间访问了哪个方法,方法传入了哪些参数

    spring AOP入门实例

    用spring AOP做的最简单的日志记录小例子,特别简单,可直接运行。

    spring aop实现日志分析管理

    元注解方式结合AOP,灵活记录操作日志 能够记录详细错误日志为运维提供支持 日志记录尽可能减少性能影响

    spring.net结合三层AOP异常日志记录功能

    spring.net结合三层AOP异常日志记录功能

    Spring AOP 实例

    1.简单的AOP日志实现-某方法之前的前后记录日志; 2.简单的AOP日志实现-需要记录方法的运行时间; 3.简单的AOP日志实现-增加检查订单功能;

    struts2+spring aop demo

    struts2+spring2.5用AOP记录操作日志,带自定义参数aop的例子

    Spring mvc mybatis plus 实现AOP 切面日志系统

    Spring mvc mybatis plus 实现AOP 切面日志系统,带有数据库。可以自行拓展

    在自定义spring aop中使用el获取拦截方法的变量值。

    NULL 博文链接:https://conkeyn.iteye.com/blog/2354644

Global site tag (gtag.js) - Google Analytics