mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-11-24 08:33:04 +08:00
全局日志模块的自动注入
This commit is contained in:
@@ -3,6 +3,8 @@ package com.pj;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
import cn.dev33.satoken.SaManager;
|
||||
|
||||
/**
|
||||
* Sa-Token 示例
|
||||
* @author kong
|
||||
@@ -13,6 +15,7 @@ public class SaTokenCaseApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(SaTokenCaseApplication.class, args);
|
||||
System.out.println("\n启动成功:Sa-Token配置如下:" + SaManager.getConfig());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.pj.satoken;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import cn.dev33.satoken.log.SaLog;
|
||||
|
||||
/**
|
||||
* 将 Sa-Token log 信息转接到 Slf4j
|
||||
*
|
||||
* @author kong
|
||||
* @since 2022-11-2
|
||||
*/
|
||||
//@Component
|
||||
public class SaLogForSlf4j implements SaLog {
|
||||
|
||||
Logger log = LoggerFactory.getLogger(SaLogForSlf4j.class);
|
||||
|
||||
@Override
|
||||
public void trace(String str, Object... args) {
|
||||
log.trace(str, args);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void debug(String str, Object... args) {
|
||||
log.debug(str, args);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void info(String str, Object... args) {
|
||||
log.info(str, args);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void warn(String str, Object... args) {
|
||||
log.trace(str, args);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void error(String str, Object... args) {
|
||||
log.error(str, args);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fatal(String str, Object... args) {
|
||||
log.error(str, args);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,7 +10,7 @@ Sa-Token 提供一种侦听器机制,通过注册侦听器,你可以订阅
|
||||
|
||||

|
||||
|
||||
框架默认内置了侦听器 `SaTokenListenerForConsolePrint` 实现:[代码参考](https://gitee.com/dromara/sa-token/blob/master/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenListenerForConsolePrint.java)
|
||||
框架默认内置了侦听器 `SaTokenListenerForLog` 实现:[代码参考](https://gitee.com/dromara/sa-token/blob/master/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenListenerForLog.java)
|
||||
,功能是控制台 log 打印输出,你可以通过配置`sa-token.is-log=true`开启。
|
||||
|
||||
要注册自定义的侦听器也非常简单:
|
||||
|
||||
@@ -18,6 +18,8 @@ import cn.dev33.satoken.id.SaIdUtil;
|
||||
import cn.dev33.satoken.json.SaJsonTemplate;
|
||||
import cn.dev33.satoken.listener.SaTokenEventCenter;
|
||||
import cn.dev33.satoken.listener.SaTokenListener;
|
||||
import cn.dev33.satoken.log.SaLog;
|
||||
import cn.dev33.satoken.log.input.SaLogInput;
|
||||
import cn.dev33.satoken.same.SaSameTemplate;
|
||||
import cn.dev33.satoken.sign.SaSignTemplate;
|
||||
import cn.dev33.satoken.stp.StpInterface;
|
||||
@@ -153,6 +155,26 @@ public class SaBeanInject {
|
||||
public void setSaSignTemplate(SaSignTemplate saSignTemplate) {
|
||||
SaManager.setSaSignTemplate(saSignTemplate);
|
||||
}
|
||||
|
||||
/**
|
||||
* 注入自定义的 日志输出 Bean
|
||||
*
|
||||
* @param log /
|
||||
*/
|
||||
@Autowired(required = false)
|
||||
public void setLog(SaLog log) {
|
||||
SaManager.setLog(log);
|
||||
}
|
||||
|
||||
/**
|
||||
* 注入自定义的 日志接受 Bean
|
||||
*
|
||||
* @param logInput /
|
||||
*/
|
||||
@Autowired(required = false)
|
||||
public void setLogInput(SaLogInput logInput) {
|
||||
SaManager.setLogInput(logInput);
|
||||
}
|
||||
|
||||
/**
|
||||
* 注入自定义的 StpLogic
|
||||
|
||||
@@ -15,6 +15,8 @@ import cn.dev33.satoken.id.SaIdUtil;
|
||||
import cn.dev33.satoken.json.SaJsonTemplate;
|
||||
import cn.dev33.satoken.listener.SaTokenEventCenter;
|
||||
import cn.dev33.satoken.listener.SaTokenListener;
|
||||
import cn.dev33.satoken.log.SaLog;
|
||||
import cn.dev33.satoken.log.input.SaLogInput;
|
||||
import cn.dev33.satoken.same.SaSameTemplate;
|
||||
import cn.dev33.satoken.sign.SaSignTemplate;
|
||||
import cn.dev33.satoken.solon.model.SaContextForSolon;
|
||||
@@ -102,9 +104,20 @@ public class XPluginImp implements Plugin {
|
||||
SaManager.setSaSignTemplate(bean);
|
||||
});
|
||||
|
||||
// Sa-Token 日志输出 Bean
|
||||
context.getBeanAsyn(SaLog.class, bean -> {
|
||||
SaManager.setLog(bean);
|
||||
});
|
||||
|
||||
// Sa-Token 日志接受 Bean
|
||||
context.getBeanAsyn(SaLogInput.class, bean -> {
|
||||
SaManager.setLogInput(bean);
|
||||
});
|
||||
|
||||
// 自定义 StpLogic 对象
|
||||
context.getBeanAsyn(StpLogic.class, bean -> {
|
||||
StpUtil.setStpLogic(bean);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -18,6 +18,8 @@ import cn.dev33.satoken.id.SaIdUtil;
|
||||
import cn.dev33.satoken.json.SaJsonTemplate;
|
||||
import cn.dev33.satoken.listener.SaTokenEventCenter;
|
||||
import cn.dev33.satoken.listener.SaTokenListener;
|
||||
import cn.dev33.satoken.log.SaLog;
|
||||
import cn.dev33.satoken.log.input.SaLogInput;
|
||||
import cn.dev33.satoken.same.SaSameTemplate;
|
||||
import cn.dev33.satoken.sign.SaSignTemplate;
|
||||
import cn.dev33.satoken.stp.StpInterface;
|
||||
@@ -153,6 +155,26 @@ public class SaBeanInject {
|
||||
public void setSaSignTemplate(SaSignTemplate saSignTemplate) {
|
||||
SaManager.setSaSignTemplate(saSignTemplate);
|
||||
}
|
||||
|
||||
/**
|
||||
* 注入自定义的 日志输出 Bean
|
||||
*
|
||||
* @param log /
|
||||
*/
|
||||
@Autowired(required = false)
|
||||
public void setLog(SaLog log) {
|
||||
SaManager.setLog(log);
|
||||
}
|
||||
|
||||
/**
|
||||
* 注入自定义的 日志接受 Bean
|
||||
*
|
||||
* @param logInput /
|
||||
*/
|
||||
@Autowired(required = false)
|
||||
public void setLogInput(SaLogInput logInput) {
|
||||
SaManager.setLogInput(logInput);
|
||||
}
|
||||
|
||||
/**
|
||||
* 注入自定义的 StpLogic
|
||||
|
||||
Reference in New Issue
Block a user