slf4j-spring-boot-starter
介绍
一个注解搞定日志的组件,减少到处编写日志的烦恼,还可定位代码哟
软件架构
依赖spring-boot-starter-aop
原理说明
AOP + Reflect
作用范围
任意由spring调用的方法
当前版本
1.4.2 (已提交中央仓库,待刷新)
安装教程
mvn clean install
使用说明
一、准备工作
添加依赖:
wiki.xsx
slf4j-spring-boot-starter
1.4.2
开启日志:
yml方式:
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方式:
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注解示例:
日志注解标记:
@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 param) {
Map result = new HashMap<>(3);
result.put("code", 200);
res