//定义的service接口
public interface IUserService(){
public void a();
}
//有个实现类
public class UserService implements IUserService{
public void a(){
try{
//业务代码
System.out.println(1/0);//故意抛出异常
}catch(Exception e){
throw new RuntimeException(e);
}
}
}
//LogHelper
import java.lang.reflect.Method;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.springframework.aop.ThrowsAdvice;
public class LogHelper implements ThrowsAdvice {
private Logger logger = Logger.getLogger(this.getClass().getName());
public void afterThrowing(Method method,Object[]args,Object target,Throwable subclass){
logger.log(Level.INFO, "logger that a"+subclass+"Exception was throw in "+method);
System.out.println("--------LogHelper--------");
}
public Logger getLogger() {
return logger;
}
public void setLogger(Logger logger) {
this.logger = logger;
}
}
想给他配log日志 实现 异常时的log输出。片段如下
<bean id="txProxyTemplateMain" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManagerMain"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED, readOnly</prop>
</props>
</property>
</bean>
<bean id="userService" parent="txProxyTemplateMain">
<property name="target">
<bean class="model.main.service.spring.UserService">
<property name="userDao">
<ref local="userDao"/>
</property>
</bean>
</property>
</bean>
<bean id="logHelper" class="model.util.LogHelper"/>
<bean id="logProxy" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>model.main.service.IUserService</value>
</property>
<property name="target">
<ref local="userService"/>
</property>
<property name="interceptorNames">
<list>
<value>logHelper</value>
</list>
</property>
</bean>
其他的Spring配置我检查过了 应该没有问题的,现在就是想实现 事务+日志的功能 ,可是事务可以了,日志就不行。请问这2个之间这么配置可以吗? 如果不用helper类在catch中直接创建日志是可以的,我试过。为什么用AOP 配出来就不可以了,希望解答下 谢谢。
分享到:
相关推荐
这个"spring整合log4j"的示例项目`log4j_spring_test`很可能包含了上述所有步骤的实现,初学者可以通过阅读源代码和运行测试来加深理解。通过这种方式,开发者可以在Spring应用程序中轻松地管理和控制日志,便于调试...
Spring框架是Java领域广泛使用的轻量级框架,而Log4j则是日志记录领域的经典工具,提供了丰富的日志配置和管理功能。本实例结合Spring和Log4j,将为你提供一个实用的日志解决方案。 首先,我们要理解Spring是如何...
在IT行业中,Spring框架是Java开发中的核心工具之一,它为构建企业级应用程序提供了全面的解决方案。Log4j则是广泛使用的日志记录框架,...在实际项目中,结合使用Spring和Log4j可以大大提高开发效率和问题排查能力。
在Spring框架中,我们通常会结合使用Log4j来实现日志记录,因为Log4j具有高度可配置性、性能优秀和功能丰富的特点。 Log4j是Apache软件基金会的一个项目,它是一个强大的日志工具,支持多种输出格式,包括控制台、...
在Spring框架中集成和使用Log4J是一项常见的任务,它能帮助我们记录应用程序的运行日志,便于调试、性能分析和问题排查。本项目"SpringLog4JDemo"是一个基于Eclipse的实战示例,旨在教会开发者如何在Spring环境中...
在Spring项目中配置log4j是一项基础且重要的工作,它能帮助我们记录应用程序的运行日志,便于调试、排查问题和性能分析。Log4j是一个广泛使用的Java日志框架,提供灵活的日志记录功能。接下来,我们将详细讲解如何在...
- 通过 Spring 提供的 `Log4jConfigurer` 支持在运行时动态更新 Log4j 配置,通常用于开发和测试环境。 - 使用 `log4jConfigLocation` 参数在 Spring 配置文件中指定 `log4j.properties` 或 `log4j.xml` 文件的...
总之,将Spring的日志配置为Log4j,涉及到引入Log4j库、编写`log4j.properties`配置文件、以及在Spring配置文件中声明使用Log4j。理解这些步骤和配置项对于优化日志记录,排查问题以及监控系统运行状态至关重要。
总之,Spring Boot Starter Log4j2使得在Spring Boot项目中集成和使用Log4j2变得简单易行。通过合理配置,我们可以实现灵活的日志管理,满足各种开发场景的需求。在实际开发中,掌握Log4j2的配置和使用,能帮助我们...
在Spring框架中,可以通过Spring的Log4j配置来统一管理日志,方便调试和问题排查。 在提供的文件名称列表中,虽然没有具体的jar包名称,但通常Spring框架所需的jar包包括:spring-core、spring-context、spring-...
Log4j,则是Java领域广泛使用的日志记录框架,它提供了灵活的日志配置、多级别的日志输出以及多种输出格式,使得开发者可以方便地进行调试和问题追踪。将Spring MVC与Log4j整合,能够帮助我们在开发过程中更好地监控...
在Java开发领域,日志记录是一项至关重要的任务,它能够帮助...理解并熟练运用Log4j配置,能够极大地提升开发效率和问题排查能力。在实际开发中,根据项目需求合理配置Log4j,可以有效提高系统的可维护性和稳定性。
Log4j和Log4j2是两种广泛使用的Java日志框架,它们提供了灵活的日志配置和高性能的日志处理能力。本文将详细介绍如何在SpringBoot项目中配置Log4j和Log4j2。 ### SpringBoot与Log4j Log4j是Apache的一个开源项目,...
通过Spring与Log4J的集成,不仅可以实现灵活的日志管理和配置,还可以提高系统的可维护性和扩展性。在实际开发中,根据项目需求合理配置日志级别和输出方式是非常重要的,这有助于优化系统的性能,并为后续的问题...
### log4j乱码问题解决办法 #### 一、引言 在开发过程中,日志记录是必...正确的日志配置对于开发工作至关重要,它能够帮助开发者更高效地进行调试和问题追踪。希望本文能为你解决实际工作中遇到的相关问题提供帮助。
标签“若依 log4j2.16.0”明确了这个问题针对的是若依框架中的Log4j2组件,提醒用户要特别关注这个特定的更新。 在提供的压缩包文件列表中,"log4j2.16.0"可能包含了Log4j2库的更新JAR文件或其他相关资源。用户应当...
在 Spring 框架中整合 Log4j,我们可以实现对应用程序运行时的详细日志记录,这对于问题排查和系统监控至关重要。Log4j 配置文件通常以 `log4j.properties` 或 `log4j.xml` 的形式存在,其中包含了关于日志输出级别...
Log4j、Log4j2和Fastjson的安全性问题在过去曾引起广泛关注,例如Log4j2的CVE-2021-44228(也被称为Log4Shell漏洞),这是一个远程代码执行漏洞,影响了许多使用Log4j2的系统。这个插件可能就是为了检测和利用这些...
在Spring框架中,配置Log4j是一个常见的任务,它允许我们对应用的日志输出进行精细控制,便于调试、监控和问题排查。以下是关于Spring配置Log4j的关键知识点: 1. **webAppRootKey参数**:这个参数用于指定Web应用...
Spring MVC和Log4j是两个非常重要的工具,一个用于构建强大的Web应用程序,另一个则是广泛使用的日志记录框架。在这个"springmvc log4j配置 demo"中,我们将探讨如何将Log4j集成到Spring MVC应用中,以便进行高效且...