| java110-core/src/main/java/com/java110/core/trace/ApiLogAop.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| java110-core/src/main/java/com/java110/core/trace/Java110TraceConfigurer.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| java110-core/src/main/java/com/java110/core/trace/Java110TraceFactory.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| java110-core/src/main/java/com/java110/core/trace/Java110TraceHandlerInterceptor.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| java110-utils/src/main/java/com/java110/utils/constant/EnvironmentConstant.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
java110-core/src/main/java/com/java110/core/trace/ApiLogAop.java
New file @@ -0,0 +1,7 @@ package com.java110.core.trace; /** * api 服务抓日志 */ public class ApiLogAop { } java110-core/src/main/java/com/java110/core/trace/Java110TraceConfigurer.java
@@ -26,16 +26,16 @@ super.addInterceptors(registry); } @Bean @ConditionalOnBean(Java110FeignClientInterceptor.class) public okhttp3.OkHttpClient okHttpClient(@Autowired Java110FeignClientInterceptor okHttpLoggingInterceptor){ okhttp3.OkHttpClient.Builder ClientBuilder = new okhttp3.OkHttpClient.Builder() .readTimeout(30, TimeUnit.SECONDS) //读取超时 .connectTimeout(10, TimeUnit.SECONDS) //连接超时 .writeTimeout(60, TimeUnit.SECONDS) //写入超时 .connectionPool(new ConnectionPool(10 /*maxIdleConnections*/, 3, TimeUnit.MINUTES)) .addInterceptor(okHttpLoggingInterceptor); return ClientBuilder.build(); } // @Bean // @ConditionalOnBean(Java110FeignClientInterceptor.class) // public okhttp3.OkHttpClient okHttpClient(@Autowired // Java110FeignClientInterceptor okHttpLoggingInterceptor){ // okhttp3.OkHttpClient.Builder ClientBuilder = new okhttp3.OkHttpClient.Builder() // .readTimeout(30, TimeUnit.SECONDS) //读取超时 // .connectTimeout(10, TimeUnit.SECONDS) //连接超时 // .writeTimeout(60, TimeUnit.SECONDS) //写入超时 // .connectionPool(new ConnectionPool(10 /*maxIdleConnections*/, 3, TimeUnit.MINUTES)) // .addInterceptor(okHttpLoggingInterceptor); // return ClientBuilder.build(); // } } java110-core/src/main/java/com/java110/core/trace/Java110TraceFactory.java
@@ -6,8 +6,8 @@ import com.java110.dto.trace.TraceAnnotationsDto; import com.java110.dto.trace.TraceDto; import com.java110.dto.trace.TraceEndpointDto; import com.java110.dto.trace.TraceParamDto; import com.java110.utils.constant.CommonConstant; import com.java110.utils.constant.EnvironmentConstant; import com.java110.utils.factory.ApplicationContextFactory; import com.java110.utils.kafka.KafkaFactory; import com.java110.utils.util.DateUtil; @@ -96,7 +96,7 @@ return threadLocal.get(); } public static String createTrace(String name, Map<String, Object> headers, String reqData) { public static String createTrace(String name, Map<String, Object> headers) { String traceId = ""; String parentId = ""; if (headers.containsKey(CommonConstant.TRACE_ID)) { //先取trace Id @@ -111,11 +111,17 @@ } else { parentId = "0"; } return createTrace(name, traceId, parentId, TraceAnnotationsDto.VALUE_CLIENT_SEND, JSONObject.toJSONString(headers), reqData); return createTrace(name, traceId, parentId, TraceAnnotationsDto.VALUE_CLIENT_SEND); } public static String createTrace(String name, String traceId, String parentId, String event, String reqHeader, String reqData) { public static String createTrace(String name, String traceId, String parentId, String event) { //初始事件 Environment environment = (Environment) ApplicationContextFactory.getBean(Environment.class); //判断调用链是否打开 if (!EnvironmentConstant.TRACE_SWITCH_ON.equals(environment.getProperty(EnvironmentConstant.TRACE_SWITCH))) { return ""; } //全局事务开启者 TraceDto traceDto = new TraceDto(); traceDto.setId(GenerateCodeFactory.getUUID()); @@ -123,8 +129,6 @@ traceDto.setParentSpanId(parentId); traceDto.setTimestamp(DateUtil.getCurrentDate().getTime()); //初始事件 Environment environment = (Environment) ApplicationContextFactory.getBean(Environment.class); TraceAnnotationsDto traceAnnotationsDto = new TraceAnnotationsDto(); TraceEndpointDto traceEndpointDto = new TraceEndpointDto(); traceEndpointDto.setServiceName(environment.getProperty("spring.application.name")); @@ -146,10 +150,6 @@ traceAnnotationsDtos.add(traceAnnotationsDto); traceDto.setAnnotations(traceAnnotationsDtos); traceDto.setTraceId(traceId); TraceParamDto traceParamDto = new TraceParamDto(); traceParamDto.setReqHeader(reqHeader); traceParamDto.setReqParam(reqData); put(traceDto.getId(), traceDto); putSpanId(SPAN_ID, traceDto.getId()); java110-core/src/main/java/com/java110/core/trace/Java110TraceHandlerInterceptor.java
@@ -1,6 +1,5 @@ package com.java110.core.trace; import com.alibaba.fastjson.JSONObject; import com.java110.core.log.LoggerFactory; import com.java110.dto.trace.TraceAnnotationsDto; import org.slf4j.Logger; @@ -9,9 +8,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -37,7 +33,7 @@ headers.put(headerName.toLowerCase(), request.getHeader(headerName)); } //调用链logSwatch Java110TraceFactory.createTrace(url, headers,""); Java110TraceFactory.createTrace(url, headers); return true; } java110-utils/src/main/java/com/java110/utils/constant/EnvironmentConstant.java
New file @@ -0,0 +1,10 @@ package com.java110.utils.constant; public class EnvironmentConstant { // 调用链开关 public static final String TRACE_SWITCH = "trace_switch"; // 调用链打开 public static final String TRACE_SWITCH_ON = "ON"; }