Commit 49d5ed5f authored by Quxl's avatar Quxl

x

parent f30aa02a
...@@ -4,11 +4,13 @@ import org.springframework.boot.SpringApplication; ...@@ -4,11 +4,13 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableAsync
@EnableScheduling @EnableScheduling
@EnableCaching @EnableCaching
@EnableSwagger2 @EnableSwagger2
......
package com.egolm.shop.common.interceptor; package com.egolm.shop.common.interceptor;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.scheduling.annotation.Async;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import org.springframework.stereotype.Component;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import com.alibaba.fastjson.JSON;
import com.egolm.common.jdbc.JdbcTemplate; import com.alibaba.fastjson.JSON;
import com.egolm.common.web.ServletUtil; import com.egolm.common.jdbc.JdbcTemplate;
import com.egolm.common.web.ServletUtil;
@Component
public class LogInterceptor extends HandlerInterceptorAdapter { @Component
public class LogInterceptor extends HandlerInterceptorAdapter {
@Value("${log.isOpen}")
private Boolean isOpen; @Value("${log.isOpen}")
private Boolean isOpen;
@Value("${log.sProjectID:SHOP}")
private String sProjectID; @Value("${log.sProjectID:SHOP}")
private String sProjectID;
@Override
public boolean preHandle(HttpServletRequest req, HttpServletResponse resp, Object handler) throws Exception { @Override
this.exec(req); public boolean preHandle(HttpServletRequest req, HttpServletResponse resp, Object handler) throws Exception {
return super.preHandle(req, resp, handler); this.exec(req);
} return super.preHandle(req, resp, handler);
}
@Autowired
@Qualifier("log") @Autowired
private JdbcTemplate jdbcTemplate; @Qualifier("log")
private JdbcTemplate jdbcTemplate;
private void exec(HttpServletRequest req) {
if(isOpen) { @Async
try { private void exec(HttpServletRequest req) {
String contextPath = req.getContextPath(); if(isOpen) {
String uri = req.getRequestURI().substring(contextPath.length()); try {
String remoteIp = ServletUtil.remoteIp(req); String contextPath = req.getContextPath();
String params = JSON.toJSONString(req.getParameterMap()); String uri = req.getRequestURI().substring(contextPath.length());
Map<String, Object> map = new HashMap<String,Object>(); String remoteIp = ServletUtil.remoteIp(req);
map.put("sProjectID", sProjectID); String params = JSON.toJSONString(req.getParameterMap());
map.put("sURI", uri); Map<String, Object> map = new HashMap<String,Object>();
map.put("sClientIP", remoteIp); map.put("sProjectID", sProjectID);
map.put("sParams", params); map.put("sURI", uri);
map.put("dCreateTime", new Date()); map.put("sClientIP", remoteIp);
jdbcTemplate.save("tLog", map); map.put("sParams", params);
} catch (Throwable e) { map.put("dCreateTime", new Date());
e.printStackTrace(); jdbcTemplate.save("tLog", map);
} } catch (Throwable e) {
} e.printStackTrace();
} }
}
} }
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment