# slf4j-spring-boot-starter
**Repository Path**: xsxgit/slf4j-spring-boot-starter
## Basic Information
- **Project Name**: slf4j-spring-boot-starter
- **Description**: 一个注解搞定日志的组件,还可定位代码哟
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 394
- **Forks**: 139
- **Created**: 2019-06-19
- **Last Updated**: 2025-06-04
## Categories & Tags
**Categories**: spring-boot-ext, logging
**Tags**: None
## README
# slf4j-spring-boot-starter
### 介绍
一个注解搞定日志的组件,减少到处编写日志的烦恼,还可定位代码哟
### 软件架构
依赖spring-boot-starter-aop
### 原理说明
AOP + Reflect
### 作用范围
任意由**spring**调用的方法
### 当前版本
*1.4.10*
### 安装教程
```
mvn clean install
```
### 使用说明
#### 一、准备工作
1. 添加依赖:
```
wiki.xsx
slf4j-spring-boot-starter
1.4.10
```
2. 开启日志:
yml方式:
```yaml
logging:
level:
wiki.xsx.core: 对应级别
# 日志组件配置(按需配置)
slf4j:
# 全局综合日志级别
global-log-level: debug
# 全局综合日志代码定位
global-log-position: unknown
# 全局综合日志格式化
global-log-formatter: wiki.xsx.core.log.DefaultLogFormatter
# 全局综合日志回调
global-log-callback: wiki.xsx.core.log.VoidLogCallback
# 全局参数日志级别
global-param-log-level: debug
# 全局参数日志代码定位
global-param-log-position: unknown
# 全局参数日志格式化
global-param-log-formatter: wiki.xsx.core.log.DefaultParamLogFormatter
# 全局参数日志回调
global-param-log-callback: wiki.xsx.core.log.VoidLogCallback
# 全局结果日志级别
global-result-log-level: debug
# 全局结果日志代码定位
global-result-log-position: unknown
# 全局结果日志格式化
global-result-log-formatter: wiki.xsx.core.log.DefaultResultLogFormatter
# 全局结果日志回调
global-result-log-callback: wiki.xsx.core.log.VoidLogCallback
# 全局异常日志回调
global-throwing-log-callback: wiki.xsx.core.log.VoidLogCallback
```
properties方式:
```properties
logging.level.wiki.xsx.core=对应级别
# 日志组件配置(按需配置)
# 全局综合日志级别
logging.slf4j.global-log-level=debug
# 全局综合日志代码定位
logging.slf4j.global-log-position=unknown
# 全局综合日志格式化
logging.slf4j.global-log-formatter=wiki.xsx.core.log.DefaultLogFormatter
# 全局综合日志回调
logging.slf4j.global-log-callback=wiki.xsx.core.log.VoidLogCallback
# 全局参数日志级别
logging.slf4j.global-param-log-level=debug
# 全局参数日志代码定位
logging.slf4j.global-param-log-position=unknown
# 全局参数日志格式化
logging.slf4j.global-param-log-formatter=wiki.xsx.core.log.DefaultParamLogFormatter
# 全局参数日志回调
logging.slf4j.global-param-log-callback=wiki.xsx.core.log.VoidLogCallback
# 全局结果日志级别
logging.slf4j.global-result-log-level=debug
# 全局结果日志代码定位
logging.slf4j.global-result-log-position=unknown
# 全局结果日志格式化
logging.slf4j.global-result-log-formatter=wiki.xsx.core.log.DefaultResultLogFormatter
# 全局结果日志回调
logging.slf4j.global-result-log-callback=wiki.xsx.core.log.VoidLogCallback
# 全局异常日志回调
logging.slf4j.global-throwing-log-callback=wiki.xsx.core.log.VoidLogCallback
```
#### 二、开始使用(使用DEBUG模式)
##### @ParamLog注解示例:
1. 日志注解标记:
```java
@RestController
public class TestParamLogController {
@ParamLog(value = "ParamLog-test1")
@GetMapping("/paramLogTest1")
public Map logTest1(HttpServletRequest request, Map param) {
Map result = new HashMap<>(3);
result.put("code", 200);
result.put("msg", "success");
result.put("data", param);
return result;
}
@ParamLog(value = "ParamLog-test2", paramFilter = {"request"})
@GetMapping("/paramLogTest2")
public Map logTest2(HttpServletRequest request, Map param) {
Map result = new HashMap<>(3);
result.put("code", 200);
result.put("msg", "success");
result.put("data", param);
return result;
}
@ParamLog(value = "ParamLog-test3", paramFilter = {"request"}, callback = LogTestCallback.class)
@GetMapping("/paramLogTest3")
public Map logTest3(HttpServletRequest request, List