dubbo Trace 日志追踪
生活随笔
收集整理的這篇文章主要介紹了
dubbo Trace 日志追踪
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
import com.alibaba.dubbo.common.Constants; import com.alibaba.dubbo.common.extension.Activate; import com.alibaba.dubbo.rpc.*; import com.bwton.ttsp.pay.common.util.TraceIDUtils; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import lombok.extern.slf4j.Slf4j; import org.slf4j.MDC;/*** TokenInvokerFilter** @author william.liangf*/ @Slf4j @Activate(group = {Constants.CONSUMER, Constants.PROVIDER}) public class TraceIDFilter implements Filter {private static final String TRACE_ID = "traceId";public static Gson getGson() {return new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();}@Overridepublic Result invoke(Invoker<?> invoker, Invocation invocation)throws RpcException { // if (invocation.getAttachment(TRACE_ID) != null) { // TraceIDUtils.setTraceId(invocation.getAttachment(TRACE_ID)); // String mdcData = invocation.getAttachment(TRACE_ID); // MDC.put(TRACE_ID, mdcData); // } else if (TraceIDUtils.getTraceId() != null) { // invocation.getAttachments().put(TRACE_ID, TraceIDUtils.getTraceId()); // }if (invocation.getAttachment(TRACE_ID) != null) {MDC.put(TRACE_ID, invocation.getAttachment(TRACE_ID));} else{String trace = (int)(Math.random()*9000+1000)+"";invocation.getAttachments().put(TRACE_ID, trace);MDC.put(TRACE_ID, trace);}return invoker.invoke(invocation);} }?
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread][%X{traceId}] %-5level %logger - %msg%n</pattern></encoder></appender>traceIdFilter=com.bwton.ttsp.pay.common.filter.TraceIDFilter
轉載于:https://my.oschina.net/dyyweb/blog/2979259
總結
以上是生活随笔為你收集整理的dubbo Trace 日志追踪的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: initialProps被React-N
- 下一篇: React总结篇之十_动画