`

spring aop 日志拦截器

 
阅读更多

spring 日志拦截器,拦截beanName以"Ctrl"结尾的bean


public class LogFileInterceptor implements MethodInterceptor, ThrowsAdvice {

	private static Logger logger = Logger.getLogger(LogFileInterceptor.class);

	public Object invoke(MethodInvocation invocation) throws Throwable {
		Long start = System.currentTimeMillis();
		StringBuffer sb = new StringBuffer();
		sb.append(invocation.getThis().getClass().getName());
		sb.append(".");
		sb.append(invocation.getMethod().getName());
		sb.append("(");
		sb.append(getArgs(invocation.getArguments()));
		sb.append(")");
		Object obj = null;
		obj = invocation.proceed();
		long end = System.currentTimeMillis();
		sb.append("-->runtime:");
		sb.append(start);
		sb.append("--");
		sb.append(end);
		logger.info(sb.toString());
		return obj;

	}

	public void afterThrowing(Method method, Object[] args, Object object, Throwable throwable) {
		logger.error(object.getClass().getName() + "." + method.getName() + "(" + getArgs(args) + ")", throwable);
	}

	private String getArgs(Object[] args) {
		StringBuffer sb = new StringBuffer();
		String reval = null;
		if (args.length > 0) {
			for (int i = 0; i < args.length; i++) {
				sb.append(args[i]);
				sb.append(",");
			}
			reval = sb.substring(0, sb.length() - 1);
		}
		return reval;
	}
}



	<!-- action自动代理 -->
	<bean name="logAutoProxy"
		class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
		<property name="proxyTargetClass" value="true" />
		<property name="beanNames">
			<list>
				<value>*Ctrl</value>
			</list>
		</property>
		<property name="interceptorNames">
			<list>
				<value>logFileInterceptor</value>
			</list>
		</property>
	</bean>

	<bean id="logFileInterceptor" class="com.gangling.MmoLogFileInterceptor">

	</bean>
分享到:
评论

相关推荐

    springboot spring aop 拦截器注解方式实现脱敏

    springboot spring aop 拦截器 注解方式实现脱敏(涉及到:pom.xml --&gt;application.properties ---&gt;启动类--&gt;拦截器)

    ssh+aop+log4j+日志拦截器+注解

    ssh+aop+log4j+日志拦截器+注解

    使用Spring更好地处理Struts动作

    用,留给您的简单任务就只是在一个 XML 配置文件中把它们连接好。 依赖注入是一个强大的特性,但是 Spring ...您很快就会看到,为了处理横切关注点,Spring AOP 发布了它自己的拦截器,您也可以编写您自己的拦截器。

    开发者突击·精通AOP整合应用开发 源码

    讲解了3种AOP的开发方式,即使用@Aspect注释符、基于Schema的配置的开发方式和Spring API的开发方式,最后在实际的Java EE项目中实现5种Spring AOP功能(日志记录器、性能分析器、权限检查拦截器、异常监视器、在线...

    spring hibernate 日志管理插件

    功能日志:基于java aop思想设计,通过Spring advisorAutoProxy(自动代理)实现controller过滤代理拦截,并提供拦截filter过滤,支持spring EL表达式。 数据日志:设计中提供数据日志注入接口,管理数据日志注入,...

    贫血模式下的SSH处理日志管理以及对权限管理的思考

    在众多情况下,日志的管理是通过拦截器来完成的,不过通过STRUTS2的拦截器编码比较繁琐,在此通过spring的aop来处理,在贫血模式下将代码量降到最低,同时配置文件均可共用,从此,不用为日志管理浪费任何时间。

    JavaSpring的商城项目前台+后台+api

    面向切面编程(AOP):Spring支持AOP,允许定义方法拦截器和切点来分离应用程序的业务逻辑和系统服务。这有助于增加模块化,并且可以用于事务管理、日志记录等。 事务管理:Spring提供了一致的事务管理接口,可以在...

    springmvc+hibernate 日志管理工具

    功能日志:基于java aop思想设计,通过Spring advisorAutoProxy(自动代理)实现controller过滤代理拦截,并提供拦截filter过滤,支持spring EL表达式。 数据日志:设计中提供数据日志注入接口,管理数据日志注入,...

    spring mvc + spring3.2.3 + mybatis3.2.3 + oracle

    本人搭建的最新ssm框架,包括c3p0连接池、全注解、AOP日志管理、mybatis拦截器物理分页、文件上传等功能。依旧保持最小jar包,只有20个,本人讨厌滥用jar包。

    spring.net中文手册在线版

    26.4.The Spring.NET AOP Cookbook 26.4.1.缓存 26.4.2.性能监视 26.4.3.重试规则 Spring.NET AOP最佳实践 第二十七章. .NET Remoting快速入门 27.1.简介 27.2.Remoting实例程序 27.3.实现 27.4.运行程序 27.5....

    SpringAll_wuyouzhuguli.tar.gz

    Spring Boot中使用过滤器和拦截器 Spring Boot整合MyBatis通用Mapper和PageHelper 深入学习Spring Boot自动装配 深入学习Spring Boot中的SpringApplication Spring Boot配合Hibernate Validator参数校验 自定义...

    springCloud.rar(私聊博主要密码)

    + 熔断机制 + eureka + 单元测试(controller、service、mapper层) + redis集群集成练习 + redis操作练习 + fastDFS集成练习 + 全局拦截器 + 定时器配置 + 定时器任务设计[线程池+分布式锁] +关闭挂钩 + 单例应用 + ...

    struct2.3+spring3.1+mybatis3.3+axis2

    搭建了SSM框架,当初想更好的熟悉SSM框架的架构及其原理,所以未使用maven,资源中包括所有的jar包,能直接运行在tomcat服务器,框架中使用了Spring的自动扫描,注解注入,AOP异常日志记录,AOP事务,拦截器,...

    SpringBoot基础配置框架demo

    SpringBoot基础配置框架,很适合参考学习,包含内容有:1....8.aop日志切面;9.scheduled定时任务;10.拦截器验证token;11.支持调用https;12.maven打包跳过测试; 更改配置中的数据库和redis地址后demo可以直接运行。

    spring boot 代码示例

    springboot例子, 包含druid数据源, druid的sql监控, druid过滤, mybatis xml配置, mybatis分页插件, logback日志配置, springboot多环境配置, 发送邮件, AOP拦截, 过滤器 spring拦截器, 全局异常, 统一响应, 自定义...

    springboot_study-master.zip

    该部分以 Spring Boot 框架为主线,内容包括拦截器、监听器、缓存、安全认证、分词插件、消息队列等等。 认真读完该系列文章之后,学习者会快速了解并掌握 Spring Boot 在项目中最常用的技术点,作者课程的最后,会...

    Spring面试题

    AOP 的功能完全集成到了 Spring 事务管理、日志和其他各种特性的上下文中。 IOC 容器 Spring 设计的核心是 org.springframework.beans 包,它的设计目标是与 JavaBean 组件一起使用。这个包通常不是由用户直接使用...

    Spring攻略(第二版 中文高清版).part1

    8.3 用处理程序拦截器拦截请求 297 8.3.1 问题 297 8.3.2 解决方案 298 8.3.3 工作原理 298 8.4 解析用户区域 302 8.4.1 问题 302 8.4.2 解决方案 302 8.4.3 工作原理 302 8.5 外部化区分区域的...

    Spring攻略(第二版 中文高清版).part2

    8.3 用处理程序拦截器拦截请求 297 8.3.1 问题 297 8.3.2 解决方案 298 8.3.3 工作原理 298 8.4 解析用户区域 302 8.4.1 问题 302 8.4.2 解决方案 302 8.4.3 工作原理 302 8.5 外部化区分区域的...

Global site tag (gtag.js) - Google Analytics