Browse Source

新增验证码短信发送日志打印

woody 1 year ago
parent
commit
e94bc00311

+ 3 - 2
framework-base/src/main/java/com/chelvc/framework/base/util/HttpUtils.java

@@ -260,13 +260,14 @@ public final class HttpUtils {
         Session session = SessionContextHolder.getSession(false);
         Long id = ObjectUtils.ifNull(session, Session::getId);
         String host = ObjectUtils.ifNull(session, Session::getHost);
+        String device = ObjectUtils.ifNull(session, Session::getDevice);
         Platform platform = ObjectUtils.ifNull(session, Session::getPlatform);
         Terminal terminal = ObjectUtils.ifNull(session, Session::getTerminal);
         String version = ObjectUtils.ifNull(session, Session::getVersion);
         String uri = ObjectUtils.ifNull(request, HttpServletRequest::getRequestURI);
         String method = ObjectUtils.ifNull(request, HttpServletRequest::getMethod);
-        return String.format("[%s] [%s] [%s] [%s] [%d] [%s %s] [%s]: %s",
-                host, platform, terminal, version, id, method, uri, type, message
+        return String.format("[%s] [%s] [%s] [%s] [%s] [%d] [%s %s] [%s]: %s",
+                host, platform, terminal, version, device, id, method, uri, type, message
         );
     }
 

+ 5 - 0
framework-sms/src/main/java/com/chelvc/framework/sms/support/SwitchableCaptchaSmsHandler.java

@@ -8,7 +8,9 @@ import java.util.concurrent.TimeUnit;
 import java.util.function.Consumer;
 
 import com.chelvc.framework.base.context.ApplicationContextHolder;
+import com.chelvc.framework.base.context.SessionContextHolder;
 import com.chelvc.framework.base.exception.ResourceUnavailableException;
+import com.chelvc.framework.base.util.HttpUtils;
 import com.chelvc.framework.base.util.StringUtils;
 import com.chelvc.framework.redis.util.RedisUtils;
 import com.chelvc.framework.sms.Captcha;
@@ -100,6 +102,9 @@ public class SwitchableCaptchaSmsHandler implements CaptchaSmsHandler {
                 this.getTemplateSmsHandler().send(this.properties.getTemplate(), captcha);
             }
             this.redisTemplate.opsForValue().set(key, captcha, this.properties.getExpiration(), TimeUnit.SECONDS);
+            if (log.isDebugEnabled()) {
+                log.debug(HttpUtils.message(SessionContextHolder.getRequest(), "CAPTCHA", code));
+            }
             return SmsSession.builder().token(token).expiration(this.properties.getExpiration()).build();
         } catch (RuntimeException e) {
             // 保证验证码发送失败场景下及时释放锁