From 3e98eace748a227f467d68e9a7a5de86a67551b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E7=8C=BFDD?= Date: Mon, 30 May 2016 21:33:52 +0800 Subject: [PATCH] 1 --- Chapter4-2-6/pom.xml | 77 ---------------- .../main/java/com/didispace/Application.java | 13 --- .../java/com/didispace/aspect/RequestLog.java | 90 ------------------- .../com/didispace/aspect/WebLogAspect.java | 86 ------------------ .../com/didispace/web/HelloController.java | 20 ----- .../src/main/resources/application.properties | 0 .../src/main/resources/log4j.properties | 14 --- .../java/com/didispace/ApplicationTests.java | 25 ------ 8 files changed, 325 deletions(-) delete mode 100644 Chapter4-2-6/pom.xml delete mode 100644 Chapter4-2-6/src/main/java/com/didispace/Application.java delete mode 100644 Chapter4-2-6/src/main/java/com/didispace/aspect/RequestLog.java delete mode 100644 Chapter4-2-6/src/main/java/com/didispace/aspect/WebLogAspect.java delete mode 100644 Chapter4-2-6/src/main/java/com/didispace/web/HelloController.java delete mode 100644 Chapter4-2-6/src/main/resources/application.properties delete mode 100755 Chapter4-2-6/src/main/resources/log4j.properties delete mode 100644 Chapter4-2-6/src/test/java/com/didispace/ApplicationTests.java diff --git a/Chapter4-2-6/pom.xml b/Chapter4-2-6/pom.xml deleted file mode 100644 index b204d16..0000000 --- a/Chapter4-2-6/pom.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - 4.0.0 - - com.didispace - Chapter4-2-6 - 1.0.0 - jar - - Chapter4-2-6 - Spring Boot project - - - org.springframework.boot - spring-boot-starter-parent - 1.3.2.RELEASE - - - - - UTF-8 - 1.8 - - - - - - org.springframework.boot - spring-boot-starter - - - org.springframework.boot - spring-boot-starter-logging - - - - - - org.springframework.boot - spring-boot-starter-log4j - - - - org.springframework.boot - spring-boot-starter-web - - - - org.springframework.boot - spring-boot-starter-aop - - - - org.springframework.boot - spring-boot-starter-test - test - - - - org.mongodb - mongodb-driver - 3.2.2 - - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - \ No newline at end of file diff --git a/Chapter4-2-6/src/main/java/com/didispace/Application.java b/Chapter4-2-6/src/main/java/com/didispace/Application.java deleted file mode 100644 index 2a14b75..0000000 --- a/Chapter4-2-6/src/main/java/com/didispace/Application.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.didispace; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } - -} diff --git a/Chapter4-2-6/src/main/java/com/didispace/aspect/RequestLog.java b/Chapter4-2-6/src/main/java/com/didispace/aspect/RequestLog.java deleted file mode 100644 index ece9267..0000000 --- a/Chapter4-2-6/src/main/java/com/didispace/aspect/RequestLog.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.didispace.aspect; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import org.aspectj.lang.JoinPoint; - -import javax.servlet.http.HttpServletRequest; -import java.util.Arrays; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Map; - -/** - * @author 程序猿DD - * @version 1.0.0 - * @date 16/5/23 下午4:08. - * @blog http://blog.didispace.com - */ -public class RequestLog { - - public String requestURL; - public String requestURI; - public String queryString; - public String remoteAddr; - public String remoteHost; - public Integer remotePort; - public String localAddr; - public String localName; - public String method; - - public Map parameters; - public Map headers; - - public String classMethod; - public String args; - - public RequestLog(){ - - } - - public RequestLog(HttpServletRequest request, JoinPoint joinPoint) { - // 基本信息 - this.requestURL = request.getRequestURL().toString(); - this.requestURI = request.getRequestURI(); - this.queryString = request.getQueryString(); - this.remoteAddr = request.getRemoteAddr(); - this.remoteHost = request.getRemoteHost(); - this.remotePort = request.getRemotePort(); - this.localAddr = request.getLocalAddr(); - this.localName = request.getLocalName(); - this.method = request.getMethod(); - // 头信息 - this.headers = getHeadersInfo(request); - // 参数 - this.parameters = request.getParameterMap(); - // 切入点信息 - this.classMethod = joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName(); - this.args = Arrays.toString(joinPoint.getArgs()); - } - - /** - * 获取头部信息 - * - * @param request - * @return - */ - private Map getHeadersInfo(HttpServletRequest request) { - Map map = new HashMap<>(); - Enumeration headerNames = request.getHeaderNames(); - while (headerNames.hasMoreElements()) { - String key = (String) headerNames.nextElement(); - String value = request.getHeader(key); - map.put(key, value); - } - return map; - } - - @Override - public String toString() { - ObjectMapper mapper = new ObjectMapper(); - String r; - try { - r = mapper.writeValueAsString(this); - } catch (JsonProcessingException e) { - r = getClass() + "转换JSON失败"; - } - return r; - } - -} diff --git a/Chapter4-2-6/src/main/java/com/didispace/aspect/WebLogAspect.java b/Chapter4-2-6/src/main/java/com/didispace/aspect/WebLogAspect.java deleted file mode 100644 index d5ea75a..0000000 --- a/Chapter4-2-6/src/main/java/com/didispace/aspect/WebLogAspect.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.didispace.aspect; - -import com.mongodb.BasicDBObject; -import org.apache.log4j.Logger; -import org.aspectj.lang.JoinPoint; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Before; -import org.aspectj.lang.annotation.Pointcut; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; - -import javax.servlet.http.HttpServletRequest; -import java.util.Arrays; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Map; - -/** - * Web层日志切面 - * - * @author 程序猿DD - * @version 1.0.0 - * @date 16/5/17 上午10:42. - * @blog http://blog.didispace.com - */ -@Aspect -@Order(1) -@Component -public class WebLogAspect { - - private Logger logger = Logger.getLogger("mongodb"); - - @Pointcut("execution(public * com.didispace.web..*.*(..))") - public void webLog(){} - - @Before("webLog()") - public void doBefore(JoinPoint joinPoint) throws Throwable { - // 获取HttpServletRequest - ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); - HttpServletRequest request = attributes.getRequest(); - // 获取要记录的日志内容 - BasicDBObject logInfo = getBasicDBObject(request, joinPoint); - logger.info(logInfo); - } - - - private BasicDBObject getBasicDBObject(HttpServletRequest request, JoinPoint joinPoint) { - // 基本信息 - BasicDBObject r = new BasicDBObject(); - r.append("requestURL", request.getRequestURL().toString()); - r.append("requestURI", request.getRequestURI()); - r.append("queryString", request.getQueryString()); - r.append("remoteAddr", request.getRemoteAddr()); - r.append("remoteHost", request.getRemoteHost()); - r.append("remotePort", request.getRemotePort()); - r.append("localAddr", request.getLocalAddr()); - r.append("localName", request.getLocalName()); - r.append("method", request.getMethod()); - r.append("headers", getHeadersInfo(request)); - r.append("parameters", request.getParameterMap()); - r.append("classMethod", joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName()); - r.append("args", Arrays.toString(joinPoint.getArgs())); - return r; - } - - /** - * 获取头信息 - * - * @param request - * @return - */ - private Map getHeadersInfo(HttpServletRequest request) { - Map map = new HashMap<>(); - Enumeration headerNames = request.getHeaderNames(); - while (headerNames.hasMoreElements()) { - String key = (String) headerNames.nextElement(); - String value = request.getHeader(key); - map.put(key, value); - } - return map; - } - -} - diff --git a/Chapter4-2-6/src/main/java/com/didispace/web/HelloController.java b/Chapter4-2-6/src/main/java/com/didispace/web/HelloController.java deleted file mode 100644 index e53c5db..0000000 --- a/Chapter4-2-6/src/main/java/com/didispace/web/HelloController.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.didispace.web; - -import org.springframework.web.bind.annotation.*; - -/** - * @author 程序猿DD - * @version 1.0.0 - * @date 16/5/19 下午1:27. - * @blog http://blog.didispace.com - */ -@RestController -public class HelloController { - - @RequestMapping(value = "/hello", method = RequestMethod.GET) - @ResponseBody - public String hello(@RequestParam String name) { - return "Hello " + name; - } - -} diff --git a/Chapter4-2-6/src/main/resources/application.properties b/Chapter4-2-6/src/main/resources/application.properties deleted file mode 100644 index e69de29..0000000 diff --git a/Chapter4-2-6/src/main/resources/log4j.properties b/Chapter4-2-6/src/main/resources/log4j.properties deleted file mode 100755 index 36b92b5..0000000 --- a/Chapter4-2-6/src/main/resources/log4j.properties +++ /dev/null @@ -1,14 +0,0 @@ -# LOG4J配置 -log4j.rootCategory=INFO, stdout -log4j.logger.mongodb=INFO, mongodb - -# 控制台输出 -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n - -# mongodb输出 -log4j.appender.mongodb=com.didispace.log.MongoAppender -log4j.appender.mongodb.connectionUrl=mongodb://localhost:27017 -log4j.appender.mongodb.databaseName=logs -log4j.appender.mongodb.collectionName=logs_request diff --git a/Chapter4-2-6/src/test/java/com/didispace/ApplicationTests.java b/Chapter4-2-6/src/test/java/com/didispace/ApplicationTests.java deleted file mode 100644 index 168dfe7..0000000 --- a/Chapter4-2-6/src/test/java/com/didispace/ApplicationTests.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.didispace; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - - -@RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = Application.class) -public class ApplicationTests { - - @Before - public void setUp() throws Exception { - - - } - - @Test - public void getHello() throws Exception { - - } - -}