修改app日志配置切入点
This commit is contained in:
@ -43,7 +43,7 @@ public class AppLogAspect {
|
||||
/**
|
||||
* 配置切入点
|
||||
*/
|
||||
@Pointcut("@annotation(co.yixiang.logging.aop.log.Log)")
|
||||
@Pointcut("@annotation(co.yixiang.logging.aop.log.AppLog)")
|
||||
public void logPointcut() {
|
||||
// 该方法无方法体,主要为了让同类中其他方法使用此切入点
|
||||
}
|
||||
@ -61,7 +61,7 @@ public class AppLogAspect {
|
||||
Log log = new Log("INFO",System.currentTimeMillis() - currentTime.get());
|
||||
currentTime.remove();
|
||||
HttpServletRequest request = RequestHolder.getHttpServletRequest();
|
||||
logService.save(getUsername(),
|
||||
logService.saveApp(getUsername(),
|
||||
StringUtils.getIp(RequestHolder.getHttpServletRequest()),joinPoint,
|
||||
log,getUid());
|
||||
return result;
|
||||
|
@ -13,12 +13,11 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.aop.AppLog;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.aop.NoRepeatSubmit;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.constant.SystemConfigConstants;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.activity.domain.YxStoreBargainUser;
|
||||
import co.yixiang.modules.activity.domain.YxStoreBargainUserHelp;
|
||||
import co.yixiang.modules.activity.param.BargainShareParam;
|
||||
|
@ -12,7 +12,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.aop.AppLog;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.constant.SystemConfigConstants;
|
||||
|
@ -13,7 +13,7 @@ import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.aop.AppLog;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
|
@ -10,7 +10,7 @@ package co.yixiang.modules.cart.rest;
|
||||
|
||||
import co.yixiang.annotation.Limit;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.common.aop.AppLog;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.aop.NoRepeatSubmit;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
|
@ -11,7 +11,7 @@ package co.yixiang.modules.coupon.rest;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.aop.AppLog;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.aop.NoRepeatSubmit;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
|
@ -12,7 +12,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.aop.AppLog;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.modules.manage.param.OrderPriceParam;
|
||||
import co.yixiang.modules.manage.param.ShoperQueryParam;
|
||||
|
@ -13,7 +13,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.aop.AppLog;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.aop.NoRepeatSubmit;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
@ -47,7 +47,6 @@ import com.vdurmont.emoji.EmojiParser;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
@ -16,7 +16,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.aop.AppLog;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.aop.NoRepeatSubmit;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
|
@ -12,7 +12,7 @@ import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.aop.AppLog;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.common.util.CityTreeUtil;
|
||||
|
@ -12,7 +12,7 @@ import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.aop.AppLog;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.constant.SystemConfigConstants;
|
||||
|
@ -10,7 +10,7 @@ package co.yixiang.modules.user.rest;
|
||||
|
||||
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.common.aop.AppLog;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.aop.NoRepeatSubmit;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
|
@ -10,7 +10,7 @@ package co.yixiang.modules.user.rest;
|
||||
|
||||
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.common.aop.AppLog;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.constant.SystemConfigConstants;
|
||||
|
@ -11,7 +11,7 @@ package co.yixiang.modules.user.rest;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.aop.AppLog;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
|
@ -11,18 +11,16 @@ package co.yixiang.modules.wechat.rest.controller;
|
||||
import cn.binarywang.wx.miniapp.api.WxMaService;
|
||||
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
|
||||
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
|
||||
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.aop.AppLog;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.modules.user.domain.YxUser;
|
||||
import co.yixiang.modules.user.service.YxUserService;
|
||||
import co.yixiang.modules.wechat.rest.param.BindPhoneParam;
|
||||
import co.yixiang.modules.wechat.rest.param.WxPhoneParam;
|
||||
import co.yixiang.mp.config.WxMpConfiguration;
|
||||
import co.yixiang.tools.config.WxMaConfiguration;
|
||||
import co.yixiang.utils.RedisUtils;
|
||||
import co.yixiang.utils.ShopKeyUtils;
|
||||
@ -30,7 +28,6 @@ import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
|
@ -3,7 +3,7 @@
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.common.aop;
|
||||
package co.yixiang.logging.aop.log;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
@ -58,6 +58,15 @@ public interface LogService extends BaseService<Log> {
|
||||
@Async
|
||||
void save(String username, String ip, ProceedingJoinPoint joinPoint, Log log,Long uid);
|
||||
|
||||
/**
|
||||
* 保存app日志数据
|
||||
* @param username 用户
|
||||
* @param ip 请求IP
|
||||
* @param joinPoint /
|
||||
* @param log 日志实体
|
||||
*/
|
||||
@Async
|
||||
void saveApp(String username, String ip, ProceedingJoinPoint joinPoint, Log log,Long uid);
|
||||
/**
|
||||
* 查询异常详情
|
||||
* @param id 日志ID
|
||||
|
@ -11,6 +11,7 @@ import cn.hutool.json.JSONObject;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.common.utils.QueryHelpPlus;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.logging.service.LogService;
|
||||
import co.yixiang.logging.service.dto.LogErrorDTO;
|
||||
@ -148,6 +149,55 @@ public class LogServiceImpl extends BaseServiceImpl<LogMapper, co.yixiang.loggin
|
||||
this.save(log);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveApp(String username, String ip, ProceedingJoinPoint joinPoint,
|
||||
co.yixiang.logging.domain.Log log, Long uid){
|
||||
|
||||
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||
Method method = signature.getMethod();
|
||||
AppLog aopLog = method.getAnnotation(AppLog.class);
|
||||
|
||||
// 方法路径
|
||||
String methodName = joinPoint.getTarget().getClass().getName()+"."+signature.getName()+"()";
|
||||
|
||||
StringBuilder params = new StringBuilder("{");
|
||||
//参数值
|
||||
Object[] argValues = joinPoint.getArgs();
|
||||
//参数名称
|
||||
String[] argNames = ((MethodSignature)joinPoint.getSignature()).getParameterNames();
|
||||
if(argValues != null){
|
||||
for (int i = 0; i < argValues.length; i++) {
|
||||
params.append(" ").append(argNames[i]).append(": ").append(argValues[i]);
|
||||
}
|
||||
}
|
||||
// 描述
|
||||
if (log != null) {
|
||||
log.setDescription(aopLog.value());
|
||||
}
|
||||
//类型 0-后台 1-前台
|
||||
log.setType(aopLog.type());
|
||||
if(uid != null) {
|
||||
log.setUid(uid);
|
||||
}
|
||||
assert log != null;
|
||||
log.setRequestIp(ip);
|
||||
|
||||
String loginPath = "login";
|
||||
if(loginPath.equals(signature.getName())){
|
||||
try {
|
||||
assert argValues != null;
|
||||
username = new JSONObject(argValues[0]).get("username").toString();
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
log.setAddress(StringUtils.getCityInfo(log.getRequestIp()));
|
||||
log.setMethod(methodName);
|
||||
log.setUsername(username);
|
||||
log.setParams(params.toString() + " }");
|
||||
this.save(log);
|
||||
}
|
||||
@Override
|
||||
public Object findByErrDetail(Long id) {
|
||||
co.yixiang.logging.domain.Log log = this.getById(id);
|
||||
|
Reference in New Issue
Block a user