【修改】 操作日志耗时

This commit is contained in:
bupengxiang
2023-07-31 16:15:28 +08:00
parent f19ca10d0d
commit 7c631f273d
4 changed files with 81 additions and 17 deletions
@@ -31,4 +31,14 @@ public interface BaseCommonService {
*/
void addLog(String logContent, Integer logType, Integer operateType);
/**
* 保存日志 耗时
* @param logContent
* @param logType
* @param operatetype
* @param user
* @param cost_time
*/
void addLog(String logContent, Integer logType, Integer operatetype, LoginUser user,Long cost_time);
}
@@ -1,26 +1,20 @@
package com.jero.modules.base.service.impl;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import com.jero.common.api.dto.LogDTO;
import com.jero.common.constant.CacheConstant;
import com.jero.modules.base.mapper.BaseCommonMapper;
import com.jero.modules.base.service.BaseCommonService;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.system.vo.SysPermissionDataRuleModel;
import com.jero.common.system.vo.SysUserCacheInfo;
import com.jero.common.util.IPUtils;
import com.jero.common.util.SpringContextUtils;
import com.jero.common.util.oConvertUtils;
import org.springframework.cache.annotation.Cacheable;
import com.jero.modules.base.mapper.BaseCommonMapper;
import com.jero.modules.base.service.BaseCommonService;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.AntPathMatcher;
import org.springframework.util.PathMatcher;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.Date;
@Service
@Slf4j
@@ -87,5 +81,44 @@ public class BaseCommonServiceImpl implements BaseCommonService {
}
@Override
public void addLog(String logContent, Integer logType, Integer operatetype, LoginUser user,Long cost_time) {
LogDTO sysLog = new LogDTO();
sysLog.setId(String.valueOf(IdWorker.getId()));
//注解上的描述,操作日志内容
sysLog.setLogContent(logContent);
sysLog.setLogType(logType);
sysLog.setOperateType(operatetype);
sysLog.setCostTime(cost_time);
try {
//获取request
HttpServletRequest request = SpringContextUtils.getHttpServletRequest();
//设置IP地址
sysLog.setIp(IPUtils.getIpAddr(request));
} catch (Exception e) {
sysLog.setIp("127.0.0.1");
}
//获取登录用户信息
if(user==null){
try {
user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
} catch (Exception e) {
log.error("异常",e.getMessage());
}
}
if(user!=null){
sysLog.setUserid(user.getUsername());
sysLog.setUsername(user.getRealname());
}
sysLog.setCreateTime(new Date());
//保存日志(异常捕获处理,防止数据太大存储失败,导致业务失败)JT-238
try {
baseCommonMapper.saveLog(sysLog);
} catch (Exception e) {
log.warn(" LogContent length : "+sysLog.getLogContent().length());
log.warn(e.getMessage());
}
}
}