fengxiang
2018-06-09 906e819de11a4f2a47545aff9fc551abd811adb5
Merge remote-tracking branch 'origin/master'
2 files added
1 files modified
70 ■■■■■ changed files
src/main/java/com/moral/entity/MonitorPoint.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/security/WebLogAspect.java 59 ●●●●● patch | view | raw | blame | history
src/main/resources/i18n/exceptions_en_US.properties 8 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/entity/MonitorPoint.java
@@ -101,4 +101,7 @@
    private AreaNames areaNames;
    @Transient
    private Organization organization;
    private Integer town_code;
    private Integer village_code;
}
src/main/java/com/moral/security/WebLogAspect.java
New file
@@ -0,0 +1,59 @@
package com.moral.security;
import java.util.Arrays;
import javax.servlet.http.HttpServletRequest;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@Aspect
@Component
public class WebLogAspect {
    private static final Logger LOG = LoggerFactory.getLogger(WebLogAspect.class);
    @Pointcut("execution(public * com.moral.controller.*.*(..))")//两个..代表所有子目录,最后括号里的两个..代表所有参数
    public void logPointCut() {
    }
    @Before("logPointCut()")
    public void doBefore(JoinPoint joinPoint) throws Throwable {
        // 接收到请求,记录请求内容
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletRequest request = attributes.getRequest();
        // 记录下请求内容
        LOG.info("请求地址 : " + request.getRequestURL().toString());
        LOG.info("HTTP METHOD : " + request.getMethod());
        LOG.info("IP : " + request.getRemoteAddr());
        LOG.info("CLASS_METHOD : " + joinPoint.getSignature().getDeclaringTypeName() + "."
                + joinPoint.getSignature().getName());
        LOG.info("参数 : " + Arrays.toString(joinPoint.getArgs()));
    }
    @AfterReturning(returning = "ret", pointcut = "logPointCut()")// returning的值和doAfterReturning的参数名一致
    public void doAfterReturning(Object ret) throws Throwable {
        // 处理完请求,返回内容
        LOG.info("返回值 : " + ret);
    }
    @Around("logPointCut()")
    public Object doAround(ProceedingJoinPoint pjp) throws Throwable {
        long startTime = System.currentTimeMillis();
        Object ob = pjp.proceed();// ob 为方法的返回值
        LOG.info("耗时 : " + (System.currentTimeMillis() - startTime));
        return ob;
    }
}
src/main/resources/i18n/exceptions_en_US.properties
New file
@@ -0,0 +1,8 @@
param.is.null=param.is.null
name.is.null=name.is.null
value.is.null=value.is.null
id.error=id.error{0}
name.repeat=name.repeat
no.permission=no.permission