diff --git a/yexuejc-springboot-base/src/main/java/com/yexuejc/springboot/base/interceptor/LogInterceptor.java b/yexuejc-springboot-base/src/main/java/com/yexuejc/springboot/base/interceptor/LogInterceptor.java index 4e98f19..5f9d68d 100644 --- a/yexuejc-springboot-base/src/main/java/com/yexuejc/springboot/base/interceptor/LogInterceptor.java +++ b/yexuejc-springboot-base/src/main/java/com/yexuejc/springboot/base/interceptor/LogInterceptor.java @@ -9,30 +9,46 @@ import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; /** * 访问日志拦截器,用于记录用户访问日志 - * - * @author PHY + * + * @ClassName: LogInterceptor + * @Description: + * @author: maxf + * @date: 2018/5/15 16:29 */ public class LogInterceptor extends HandlerInterceptorAdapter { @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) - throws Exception { + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { // 如登录用户访问,则记录其用户名(手机号) - String username = null; - if (SecurityContextHolder.getContext() != null && SecurityContextHolder.getContext().getAuthentication() != null - && SecurityContextHolder.getContext().getAuthentication().getName() != null) { - username = SecurityContextHolder.getContext().getAuthentication().getName(); - } - // 写日志 - String uri = request.getRequestURI(); - String userAgent = LogUtil.format(request.getHeader(HttpHeaders.USER_AGENT)); - String xuserAgent = request.getHeader(RespsConsts.HEADER_X_USER_AGENT); - String ip = NetUtil.getIp(request); + try { + String username = ""; + try { + if (SecurityContextHolder.getContext() != null && SecurityContextHolder.getContext().getAuthentication() != null + && SecurityContextHolder.getContext().getAuthentication().getName() != null) { + username = SecurityContextHolder.getContext().getAuthentication().getName(); + } + } catch (Exception e) { + LogUtil.exceptionLogger.error(e.getMessage(), e); + } + // 写日志 + String uri = request.getRequestURI(); + String userAgent = LogUtil.format(request.getHeader(HttpHeaders.USER_AGENT)); + String xuserAgent = request.getHeader(RespsConsts.HEADER_X_USER_AGENT); + String ip = ""; + try { + ip = NetUtil.getIp(request); + } catch (IOException e) { + LogUtil.exceptionLogger.error(e.getMessage(), e); + } - LogUtil.accessLogger.info("{};{};{};{};{}", uri, userAgent, xuserAgent, ip, username); + LogUtil.accessLogger.info("{};{};{};{};{}", uri, userAgent, xuserAgent, ip, username); + } catch (Exception e) { + LogUtil.exceptionLogger.error(e.getMessage(), e); + } return true; }