`
jsczxy2
  • 浏览: 1268895 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

封装service层错误并打印进日志

    博客分类:
  • java
阅读更多

今天发现dwr抛错时候并没有报出error message,而是一个空字符串,看了下是因为某Exception类型没有message,而且之前service层也没有处理错误并记录而是直接往上层报错,只是把错误显示到网页上,导致之后查看service层错误没有一个统一的日志,因此这里使用sprng3的AOP注释给所有的service加了个错误处理,并统一记录到错误日志!AOP类如下:

 

package com.myweb.aspect;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;

/**
 * @author jsczxy2
 * Service 错误捕捉AOP(记录到error.log日志)
 */
@Aspect
@Component
public class ServiceAspect {
	
	Log log = LogFactory.getLog(getClass());
	
	
	@Around("execution(* com.myweb.*service..*(..))")
	public Object cacheException(ProceedingJoinPoint jp) throws Throwable{
		try {
			// 执行处理
			Object result = jp.proceed();
			return result;
		}catch (Exception e) {
			log.error("[" + jp.getTarget().getClass().getSimpleName()+"."+jp.getSignature().getName() + "]=======>" + e);
			throw new Exception(e);
		}
	}
	
}
分享到:
评论

相关推荐

    J2EEweb调用本地斑马条码打印机打印条码

    - **错误处理与日志记录**:在实际环境中,打印失败或异常情况应有完善的错误处理机制,并记录必要的日志信息,便于问题排查和维护。 综上所述,“J2EE web调用本地斑马条码打印机打印条码”不仅是一项技术实践,也...

    Android-retrofit2极简封装极简接入

    除了基础的使用,还可以进一步优化封装,例如添加网络错误处理、统一的日志打印、自定义缓存策略等。此外,可以考虑使用OkHttp作为Retrofit的网络引擎,OkHttp提供了强大的连接池和响应缓存功能,能够提高网络请求...

    Retrofit封装

    2. 提供统一的日志打印,便于调试。 3. 支持请求和响应的缓存策略,提高用户体验。 4. 可配置的线程调度,如在后台线程执行网络请求,在主线程更新UI。 5. 添加拦截器(Interceptor)实现统一的Header设置或日志记录...

    retrofit封装

    6. **拦截器和日志**:Retrofit 可以通过 OkHttp 的拦截器机制添加自定义的请求和响应处理,例如实现请求头的动态设置或日志打印。 7. **RxJava 集成**:Retrofit 还支持 RxJava,这允许我们使用 Observable 对象来...

    uniapp 链接热敏打印机 打印小票(非完整demo)

    1. 创建打印服务:在util目录下,可以创建一个名为`printService.js`的文件,用于封装打印相关的方法。例如,定义一个`printTicket`方法,接收小票数据作为参数。 2. 数据处理:将业务数据转化为适合打印的格式,如...

    okHttp封装

    - 自定义拦截器,例如,添加公共请求头或者实现日志打印。 - 将拦截器添加到OkHttpClient的拦截器链中,以在请求生命周期的特定阶段执行自定义逻辑。 6. **错误处理** - 当请求失败时,提供统一的异常处理机制,...

    基于Java的邮政汇款打印程序.zip

    邮政汇款打印程序就是一个典型的例子,它利用编程语言,如Java,实现对邮政汇款单据的自动打印,从而节省人力、减少错误。本项目“基于Java的邮政汇款打印程序”便是一个旨在解决这一问题的实用软件。 Java是一种...

    个人总结框架

    - 日志管理采用Log4j和SLF4j的组合,实现日志的分类打印,并按天进行切割,便于故障排查和分析。 5. **项目创建流程**: - 首先安装Maven,然后在指定目录下创建项目。 - 使用Maven的archetype插件生成项目骨架...

    Soap2Android实例

    通过这个Soap2Android实例,开发者可以学习如何更高效、更优雅地在Android应用中集成和使用SOAP服务,从而提高开发效率并减少错误。理解这些知识点对于任何需要与SOAP服务进行交互的Android开发者来说都是至关重要的...

    毕设项目:基于SpringBoot的图书馆管理系统.zip

    另外,为了提高用户体验,可能还会有错误处理和日志记录机制,如使用Spring Boot的全局异常处理和Log4j进行日志打印。 总之,这个基于SpringBoot的图书馆管理系统涵盖了Java后端开发的诸多核心知识点,包括...

    unity接入Android打印机sdk(外包项目使用)

    你需要在Android Studio中创建一个新的项目,编写Java代码来封装Android的打印API,并导出.jar文件。在Unity中,你可以通过`DllImport`特性加载这个.jar(在Unity中称为.so库)并调用其中的函数。 2. **构建Android...

    Reforfit的使用

    在本篇文章中,我们将深入探讨如何进行 Reforfit 的简单封装与使用,以及如何结合 Log 打印和 GSON 解析来处理 JSON 数据。 ### 1. Reforfit 的优势 1. **简洁的 API**:Reforfit 提供了类似 RxJava 的链式调用...

    RxJava+Retrofit+OkHttp实现文件上传

    在上面的代码中,我们定义了一个uploadImage方法,该方法将uid、auth_key和file三个参数传递给服务端,并将上传的结果封装在Observable中。 然而,在实际的开发中,我们需要关心上传的进度,以便能够实时地更新...

    JSP实现对仓库的基本管理

    DAO类封装了与数据库的交互,提供增删查改接口,业务逻辑层调用这些接口进行操作。 6. **请求处理**:在JSP中,可以通过`<form>`标签接收用户输入,然后通过HTTP POST或GET请求发送到服务器。Servlet或Filter捕获...

    web 版的 银行取号系统 java版

    7. **日志记录与错误处理**:系统应有完善的日志记录和异常处理机制,以便于故障排查和系统维护。Java的日志框架如Log4j或java.util.logging可以满足这一需求。 8. **数据库存储**:考虑到历史数据的保存和查询,...

    监测指定程序运行状态

    1. **系统服务接口**:Delphi提供了对Windows API的丰富封装,开发者可以使用`CreateService`函数创建服务,`StartService`和`StopService`来控制服务的启停,以及`QueryServiceStatus`来获取服务的状态。...

    windows 服务程序例子

    5. **日志记录**:服务程序应该具有良好的错误处理和日志记录机制,以便在出现问题时可以追踪和调试。可以使用`EventLog`类来记录服务的运行状态和异常信息。 6. **数据实时监控**:实时监控可能涉及到监听数据库中...

    Aop之AspectJ详解解读demo

    通过运行这个示例,你可以观察到切面如何在方法调用前后插入额外的逻辑,如打印日志,而无需修改业务代码。 总结,AspectJ提供了一种强大的工具,使我们能够优雅地处理横切关注点,提高代码的模块化和可维护性。...

    java高效开发26个工具类

    9. **日志记录**:封装Log4j、SLF4J等日志框架,简化日志打印。 10. **异常处理**:统一异常处理,提供自定义异常类,便于捕获和处理错误。 11. **校验工具**:数据验证,如空值检查、类型检查、格式验证等。 12....

    jsp面试题[参照].pdf

    - TOMCAT日志:查看Tomcat服务器的日志输出,分析异常和错误信息。 - 返回错误页面:通过异常处理,将错误信息显示在特定的错误页面。 - IDE集成:大多数IDE(如Eclipse, IntelliJ IDEA等)都提供了调试工具。 -...

Global site tag (gtag.js) - Google Analytics