Commit 056beae3 authored by 赵啸非's avatar 赵啸非

修改网关日志

parent 8a537e25
...@@ -3,10 +3,13 @@ package com.mortals.xhx.base.framework.filter; ...@@ -3,10 +3,13 @@ package com.mortals.xhx.base.framework.filter;
import cn.hutool.extra.servlet.ServletUtil; import cn.hutool.extra.servlet.ServletUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
import com.mortals.xhx.base.framework.service.MessageProducer;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.Charsets; import org.apache.commons.codec.Charsets;
import org.reactivestreams.Publisher; import org.reactivestreams.Publisher;
import org.slf4j.MDC; import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter; import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered; import org.springframework.core.Ordered;
...@@ -24,6 +27,7 @@ import reactor.core.publisher.Flux; ...@@ -24,6 +27,7 @@ import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono; import reactor.core.publisher.Mono;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.util.List;
import java.util.Map; import java.util.Map;
import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.ORIGINAL_RESPONSE_CONTENT_TYPE_ATTR; import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.ORIGINAL_RESPONSE_CONTENT_TYPE_ATTR;
...@@ -40,6 +44,12 @@ import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.O ...@@ -40,6 +44,12 @@ import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.O
public class GatewayResponseFilter implements GlobalFilter, Ordered { public class GatewayResponseFilter implements GlobalFilter, Ordered {
@Value("${spring.application.name:gateway}")
private String appName;
@Autowired
private MessageProducer messageProducer;
private static final String TRACE_ID = "traceId";
@Override @Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
ServerHttpResponse originalResponse = exchange.getResponse(); ServerHttpResponse originalResponse = exchange.getResponse();
...@@ -60,12 +70,17 @@ public class GatewayResponseFilter implements GlobalFilter, Ordered { ...@@ -60,12 +70,17 @@ public class GatewayResponseFilter implements GlobalFilter, Ordered {
join.read(content); join.read(content);
DataBufferUtils.release(join); DataBufferUtils.release(join);
String responseData = new String(content, Charsets.UTF_8); String responseData = new String(content, Charsets.UTF_8);
// List<String> strings = exchange.getResponse().getHeaders()..get(TRACE_ID);
// responseData = beforeBodyWriteInternal(responseData, exchange.getRequest()); // responseData = beforeBodyWriteInternal(responseData, exchange.getRequest());
// responseData = "\"" + beforeBodyWriteInternal(responseData, exchange.getRequest()) + "\""; // responseData = "\"" + beforeBodyWriteInternal(responseData, exchange.getRequest()) + "\"";
byte[] uppedContent = new String(responseData.getBytes(), Charset.forName("UTF-8")).getBytes(); byte[] uppedContent = new String(responseData.getBytes(), Charset.forName("UTF-8")).getBytes();
originalResponse.getHeaders().setContentLength(uppedContent.length); // originalResponse.getHeaders().setContentLength(uppedContent.length);
// 设置加密头标识 // // 设置加密头标识
originalResponse.getHeaders().set("encrypt", "true"); // originalResponse.getHeaders().set("encrypt", "true");
return bufferFactory.wrap(uppedContent); return bufferFactory.wrap(uppedContent);
})); }));
......
...@@ -86,7 +86,7 @@ public class GlobalLogFilter implements GlobalFilter, Ordered { ...@@ -86,7 +86,7 @@ public class GlobalLogFilter implements GlobalFilter, Ordered {
paramStr=JSON.toJSONString(parameterMap); paramStr=JSON.toJSONString(parameterMap);
} }
String traceId = IdUtil.fastSimpleUUID(); String traceId = IdUtil.objectId();
AccessLogPdu accessLogPdu = new AccessLogPdu(); AccessLogPdu accessLogPdu = new AccessLogPdu();
accessLogPdu.initAttrValue(); accessLogPdu.initAttrValue();
accessLogPdu.setAppName(appName); accessLogPdu.setAppName(appName);
......
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