From 062af081f79f74a788a1333d3319f6e8c2c11bb8 Mon Sep 17 00:00:00 2001 From: noear Date: Mon, 14 Nov 2022 16:46:24 +0800 Subject: [PATCH] =?UTF-8?q?sa-token-solon-plugin=EF=BC=9A=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=20solon=20=E4=B8=BA=201.10.13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sa-token-demo/sa-token-demo-solon/pom.xml | 8 ++- .../java/com/pj/satoken/SaLogForSlf4j.java | 51 +++++++++++++++++++ .../java/com/pj/satoken/SaLogForSolon.java | 34 ++++++++++--- sa-token-dependencies/pom.xml | 7 ++- .../cn/dev33/satoken/solon/XPluginImp.java | 27 +++++----- 5 files changed, 100 insertions(+), 27 deletions(-) create mode 100644 sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/satoken/SaLogForSlf4j.java diff --git a/sa-token-demo/sa-token-demo-solon/pom.xml b/sa-token-demo/sa-token-demo-solon/pom.xml index 1f571edb..c14e9e13 100644 --- a/sa-token-demo/sa-token-demo-solon/pom.xml +++ b/sa-token-demo/sa-token-demo-solon/pom.xml @@ -10,7 +10,7 @@ 1.32.0 - 1.10.9 + 1.10.13 @@ -21,6 +21,12 @@ solon-web ${solon.version} + + + org.noear + solon.logging + ${solon.version} + diff --git a/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/satoken/SaLogForSlf4j.java b/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/satoken/SaLogForSlf4j.java new file mode 100644 index 00000000..41f47c65 --- /dev/null +++ b/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/satoken/SaLogForSlf4j.java @@ -0,0 +1,51 @@ +package com.pj.satoken; + +import cn.dev33.satoken.SaManager; +import cn.dev33.satoken.config.SaTokenConfig; +import cn.dev33.satoken.log.SaLog; +import cn.dev33.satoken.log.SaLogForConsole; +import cn.dev33.satoken.util.StrFormatter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * 将 Sa-Token log 信息转接到 slf4j 接口 + * + * @author noear 2022/11/14 created + */ +//@Component +public class SaLogForSlf4j extends SaLogForConsole implements SaLog { + static final Logger log = LoggerFactory.getLogger(SaLogForSlf4j.class); + + /** + * 打印日志到控制台 + * + * @param level 日志等级 + * @param str 字符串 + * @param args 参数列表 + */ + public void println(int level, String str, Object... args) { + SaTokenConfig config = SaManager.getConfig(); + + if (config.getIsLog() && level >= config.getLogLevelInt()) { + switch (level) { + case trace: + log.trace(LOG_PREFIX + StrFormatter.format(str, args)); + break; + case debug: + log.debug(LOG_PREFIX + StrFormatter.format(str, args)); + break; + case info: + log.info(LOG_PREFIX + StrFormatter.format(str, args)); + break; + case warn: + log.warn(LOG_PREFIX + StrFormatter.format(str, args)); + break; + case error: + case fatal: + log.error(LOG_PREFIX + StrFormatter.format(str, args)); + break; + } + } + } +} diff --git a/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/satoken/SaLogForSolon.java b/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/satoken/SaLogForSolon.java index 801ef637..ddfa4b49 100644 --- a/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/satoken/SaLogForSolon.java +++ b/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/satoken/SaLogForSolon.java @@ -1,6 +1,6 @@ package com.pj.satoken; -import org.noear.solon.core.util.PrintUtil; +import org.noear.solon.core.util.LogUtil; import cn.dev33.satoken.SaManager; import cn.dev33.satoken.config.SaTokenConfig; @@ -18,16 +18,34 @@ import cn.dev33.satoken.util.StrFormatter; public class SaLogForSolon extends SaLogForConsole implements SaLog { /** - * 打印日志到控制台 - * @param level 日志等级 - * @param str 字符串 - * @param args 参数列表 + * 打印日志到控制台 + * + * @param level 日志等级 + * @param str 字符串 + * @param args 参数列表 */ public void println(int level, String str, Object... args) { SaTokenConfig config = SaManager.getConfig(); - if(config.getIsLog() && level >= config.getLogLevelInt()) { - PrintUtil.info(LOG_PREFIX + StrFormatter.format(str, args)); + + if (config.getIsLog() && level >= config.getLogLevelInt()) { + switch (level) { + case trace: + LogUtil.global().trace(LOG_PREFIX + StrFormatter.format(str, args)); + break; + case debug: + LogUtil.global().debug(LOG_PREFIX + StrFormatter.format(str, args)); + break; + case info: + LogUtil.global().info(LOG_PREFIX + StrFormatter.format(str, args)); + break; + case warn: + LogUtil.global().warn(LOG_PREFIX + StrFormatter.format(str, args)); + break; + case error: + case fatal: + LogUtil.global().error(LOG_PREFIX + StrFormatter.format(str, args)); + break; + } } } - } diff --git a/sa-token-dependencies/pom.xml b/sa-token-dependencies/pom.xml index acccba77..f9b920b3 100644 --- a/sa-token-dependencies/pom.xml +++ b/sa-token-dependencies/pom.xml @@ -21,9 +21,8 @@ 2.11.2 3.1.0 3.0.9.RELEASE - 1.10.9 - 1.9.1 - 1.4.3 + 1.10.13 + 1.4.4 4.9.17 3.14.4 2.5.0 @@ -154,7 +153,7 @@ org.noear solon-test - ${solon-test.version} + ${solon.version} diff --git a/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/XPluginImp.java b/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/XPluginImp.java index 43f85810..7f4aed39 100644 --- a/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/XPluginImp.java +++ b/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/XPluginImp.java @@ -34,7 +34,7 @@ public class XPluginImp implements Plugin { @Override public void start(AopContext context) { // Sa-Token 日志输出 Bean - context.getBeanAsyn(SaLog.class, bean -> { + context.getBeanAsync(SaLog.class, bean -> { SaManager.setLog(bean); }); @@ -50,7 +50,7 @@ public class XPluginImp implements Plugin { SaTokenConfig saTokenConfig = Solon.cfg().getBean("sa-token", SaTokenConfig.class); SaManager.setConfig(saTokenConfig); - context.getBeanAsyn(SaTokenConfig.class, bean -> { + context.getBeanAsync(SaTokenConfig.class, bean -> { SaManager.setConfig(bean); }); @@ -58,12 +58,12 @@ public class XPluginImp implements Plugin { SaManager.setSaTokenContext(new SaContextForSolon()); // 注入Dao Bean - context.getBeanAsyn(SaTokenDao.class, bean -> { + context.getBeanAsync(SaTokenDao.class, bean -> { SaManager.setSaTokenDao(bean); }); // 注入二级上下文 Bean - context.getBeanAsyn(SaTokenSecondContextCreator.class, bean -> { + context.getBeanAsync(SaTokenSecondContextCreator.class, bean -> { SaManager.setSaTokenSecondContext(bean.create()); }); @@ -74,49 +74,48 @@ public class XPluginImp implements Plugin { // 注入权限认证 Bean - context.getBeanAsyn(StpInterface.class, bean -> { + context.getBeanAsync(StpInterface.class, bean -> { SaManager.setStpInterface(bean); }); // 注入持久化 Bean - context.getBeanAsyn(SaTokenDao.class, bean -> { + context.getBeanAsync(SaTokenDao.class, bean -> { SaManager.setSaTokenDao(bean); }); // 临时令牌验证模块 Bean - context.getBeanAsyn(SaTempInterface.class, bean -> { + context.getBeanAsync(SaTempInterface.class, bean -> { SaManager.setSaTemp(bean); }); // Sa-Token-Id 身份凭证模块 Bean - context.getBeanAsyn(SaIdTemplate.class, bean -> { + context.getBeanAsync(SaIdTemplate.class, bean -> { SaIdUtil.saIdTemplate = bean; }); // Sa-Token Same-Token 模块 Bean - context.getBeanAsyn(SaSameTemplate.class, bean -> { + context.getBeanAsync(SaSameTemplate.class, bean -> { SaManager.setSaSameTemplate(bean); }); // Sa-Token Http Basic 认证模块 Bean - context.getBeanAsyn(SaBasicTemplate.class, bean -> { + context.getBeanAsync(SaBasicTemplate.class, bean -> { SaBasicUtil.saBasicTemplate = bean; }); // Sa-Token JSON 转换器 Bean - context.getBeanAsyn(SaJsonTemplate.class, bean -> { + context.getBeanAsync(SaJsonTemplate.class, bean -> { SaManager.setSaJsonTemplate(bean); }); // Sa-Token 参数签名算法 Bean - context.getBeanAsyn(SaSignTemplate.class, bean -> { + context.getBeanAsync(SaSignTemplate.class, bean -> { SaManager.setSaSignTemplate(bean); }); // 自定义 StpLogic 对象 - context.getBeanAsyn(StpLogic.class, bean -> { + context.getBeanAsync(StpLogic.class, bean -> { StpUtil.setStpLogic(bean); }); } - } \ No newline at end of file