Search in sources :

Example 1 with LogDO

use of io.github.tesla.ops.system.domain.LogDO in project tesla by linking12.

the class LogAspect method saveLog.

private void saveLog(ProceedingJoinPoint joinPoint, long time) {
    MethodSignature signature = (MethodSignature) joinPoint.getSignature();
    Method method = signature.getMethod();
    LogDO sysLog = new LogDO();
    Log syslog = method.getAnnotation(Log.class);
    if (syslog != null) {
        // 注解上的描述
        sysLog.setOperation(syslog.value());
    }
    // 请求的方法名
    String className = joinPoint.getTarget().getClass().getName();
    String methodName = signature.getName();
    sysLog.setMethod(className + "." + methodName + "()");
    // 请求的参数
    Object[] args = joinPoint.getArgs();
    try {
        String params = JSONUtils.beanToJson(args[0]).substring(0, 4999);
        sysLog.setParams(params);
    } catch (Exception e) {
    }
    // 获取request
    HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
    // 设置IP地址
    sysLog.setIp(IPUtils.getIpAddr(request));
    // 用户名
    Long currentUserId = BaseController.getUserId();
    String currentUserName = BaseController.getUsername();
    if (null == currentUserId) {
        if (null != sysLog.getParams()) {
            sysLog.setUserId(-1L);
            sysLog.setUsername(sysLog.getParams());
        } else {
            sysLog.setUserId(-1L);
            sysLog.setUsername("获取用户信息为空");
        }
    } else {
        sysLog.setUserId(currentUserId);
        sysLog.setUsername(currentUserName);
    }
    sysLog.setTime((int) time);
    // 系统当前时间
    Date date = new Date();
    sysLog.setGmtCreate(date);
    // 保存系统日志
    logMapper.save(sysLog);
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) MethodSignature(org.aspectj.lang.reflect.MethodSignature) Method(java.lang.reflect.Method) LogDO(io.github.tesla.ops.system.domain.LogDO) Date(java.util.Date)

Example 2 with LogDO

use of io.github.tesla.ops.system.domain.LogDO in project tesla by linking12.

the class LogController method list.

@ResponseBody
@GetMapping("/list")
@RequiresPermissions("sys:monitor:log")
PageDO<LogDO> list(@RequestParam Map<String, Object> params) {
    Query query = new Query(params);
    PageDO<LogDO> page = logService.queryList(query);
    return page;
}
Also used : Query(io.github.tesla.ops.utils.Query) LogDO(io.github.tesla.ops.system.domain.LogDO) RequiresPermissions(org.apache.shiro.authz.annotation.RequiresPermissions) GetMapping(org.springframework.web.bind.annotation.GetMapping) ResponseBody(org.springframework.web.bind.annotation.ResponseBody)

Aggregations

LogDO (io.github.tesla.ops.system.domain.LogDO)2 Query (io.github.tesla.ops.utils.Query)1 Method (java.lang.reflect.Method)1 Date (java.util.Date)1 HttpServletRequest (javax.servlet.http.HttpServletRequest)1 RequiresPermissions (org.apache.shiro.authz.annotation.RequiresPermissions)1 MethodSignature (org.aspectj.lang.reflect.MethodSignature)1 GetMapping (org.springframework.web.bind.annotation.GetMapping)1 ResponseBody (org.springframework.web.bind.annotation.ResponseBody)1