业务知识——Logger日志打印规范

本文介绍了金融系统中Logger日志打印的规范,包括日志级别如error、warn、info、debug和trace的使用场景,建议将debug和info级别统一为info,强调避免在日志中进行计算或方法调用导致异常,正确处理error日志,以及在http请求和接口调用时应记录的关键信息,旨在提升系统稳定性和问题解决效率。
摘要由CSDN通过智能技术生成

初期,我们的系统比较简单,在这个过程中,加上大家平时都不注意,所以Logger日志一直是打印的随心所欲,什么是随心所欲的,就是大家想在哪里打日志就在哪里打印日志,想输出什么就输出什么,毫无规范可言,在系统的流量和业务量变得越来越复杂的情况下,良好的日志才能帮助我们更快地找到问题,更好地解决问题。

 

首先来看一下比较常用的Logger日志级别(部分未列出):

  1. error - 运行期错误日志记录,应该有专门的error日志文件。;
  2. warn - 警告信息,如程序调用了一个即将作废的接口,接口的不当使用,运行状态不是期望的但仍可继续处理等;
  3. info - 有必要的事件信息记录。
  4. debug - 调试信息,业务处理进行状态,当前的变量值等;
  5. trace - 一些更详细的跟踪信息;

鉴于我们是一个金融系统,流量还是不算很大,我个人认为debug级别和info级别可以统一归为info级别下打印,这是考虑到现在系统稳定性不够,处于一个快速迭代开发的过程中,线上问题可能随时都有,所以将业务流转与部分变量值打印出来还是很有必要的。error记录错误日志,但如果错误是预期会发生的,并且已经有了其他的处理流程,则建议使用warn级别。例如在try-catch中catch块里处理后继续流程的日志记录。

1.Logger对象的定义:

在Spring Boot中实现环绕切面监控接口异常信息并打印logger日志,可以按照以下步骤进行: 1. 创建一个切面类,并标注@Aspect注解,用于定义切面的具体实现代码。 ```java @Aspect @Component public class ExceptionAspect { @Around("execution(* com.example.demo.controller.*.*(..))") public Object handleException(ProceedingJoinPoint joinPoint) throws Throwable { Object result = null; try { result = joinPoint.proceed(); } catch (Exception e) { Logger logger = LoggerFactory.getLogger(joinPoint.getTarget().getClass()); logger.error("接口异常信息:{},异常堆栈信息:{}", e.getMessage(), e); throw e; } return result; } } ``` 2. 在切面类中定义一个环绕通知方法,用于拦截指定的接口请求,并处理接口异常信息。在通知方法中,可以使用ProceedingJoinPoint参数调用目标方法并获取方法执行结果。如果方法执行过程中出现异常,可以使用Logger打印异常信息,并将异常重新抛出,以便后续处理。 3. 在切面类上添加@Component注解,将切面类注册到Spring容器中。 4. 在Spring Boot的配置文件中,添加以下配置,启用AOP切面功能。 ```properties spring.aop.auto=true ``` 通过以上步骤,就可以在Spring Boot应用中实现环绕切面监控接口异常信息并打印logger日志的功能。在应用程序执行过程中,如果接口出现异常,就会在控制台或日志文件中打印异常信息,方便开发人员进行排查和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值