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总结篇之十_动画