# coufran-spring-boot-starter-log **Repository Path**: coufran/coufran-spring-boot-starter-log ## Basic Information - **Project Name**: coufran-spring-boot-starter-log - **Description**: Spring starter,日志 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-01 - **Last Updated**: 2025-09-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: Spring, SpringBoot, log, lib, Java ## README # 基础用法 ## 自动记录方法日志 在需要记录入参和返回值的方法上添加``@AutoLog``注解。 ```java public class Demo { @AutoLog public Result demo(String param) { return Result.success(param); } } /* 调用Demo.demo("Coufran")时将打印如下日志: Demo.demo.param: ["Coufran"] Demo.demo.result: {"success": true, "data": "Coufran"} */ ``` > 如果``demo()``抛出``Exception``,也会被记录。 ## 设置日志级别 ``@AutoLog``允许设置输入日志的级别,默认``INFO``。 ```java @AutoLog(level = Level.DEBUG) public Result demo(String param) { return Result.success(param); } ``` > 抛出非业务``Exception``时,始终被记录为``ERROR``。 > 默认业务异常为``cn.coufran.commons.exception.ServiceException``。 ## 设置序列化方式 ``@AutoLog``默认将参数和返回值序列化为JSON,还可设置为``TO_STRING``(调用对象的``toString()``方法)或``NONE``(不序列化)。 ```java @AutoLog(mode = Mode.TO_STRING) // 设置返回值的序列化方式 public Result demo(@AutoLog(mode = Mode.TO_STRING) String param) { // 设置参数的序列化方式 return Result.success(param); } ``` # 高级用法 ## 配置业务异常 通过替换名为``serviceExceptionClasses``的Bean配置业务异常。 ```java @Configuration public class DemoConfig { @Bean public Collection> serviceExceptionClasses() { return Arrays.asList(ServiceException.class); } } ``` 在原有基础上添加新的业务异常。 ```java @Configuration public class DemoConfig { @Resource private AutoLogAdvice autoLogAdvice; @PostConstruct public void configAutoLogAdvice() { autoLogAdvice.addServiceExceptionClass(XxxServiceException.class); } } ```