zoukankan      html  css  js  c++  java
  • logback中使用MDC自定义日志输出格式

    logback-MDC

    相当于自定义日志格式输出

    写在过滤器中

    示例:

               try {
    			Context context = createContext(request, response);
    			processSysNo(request, response, context);
    			processSeqNo(request, response, context);
    			processTraceId(request, response, context);
    			MDC.put("systemName",context.getSysNo());
    			if (!StringUtils.isEmpty(context.getReqSeqNo())){
    				MDC.put("serialNum",context.getReqSeqNo());
    			}else {
    				MDC.put("serialNum",context.getSeqNo());
    			}
    			RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
    			// 进程
    			MDC.put("process",runtimeMXBean.getName());
    			log.debug(context.toString());
    			chain.doFilter(request, response);
    		} finally {
    			removeContext(request, response);
    			// 避免线程泄漏
    			MDC.clear();
    		}	
    

    在logback.xml中配置引入

    %X{process}
    %X{systemName}
    
    [时间戳] | 日志级别 | 所属系统或子系统 | traceId | spanId | 全局流水号 | 进程号 | 线程号 | 源码文件名:行号 | 日志内容
    <pattern>[%d{yyyy-MM-dd HH:mm:ss}] | %-5level | %X{systemName} | %X{X-B3-TraceId:-} | %X{X-B3-SpanId:-} | %X{serialNum} | %X{process} | %thread | %class:%line | %msg%n</pattern>
    
    
    定位问题原因* 根据原因思考问题解决方案* 实践验证方案有效性* 提交验证结果
  • 相关阅读:
    算法初探
    OIer数学相关
    算法初探
    MySQL事务
    MySQL多表查询
    数据库的设计
    winform选择文件夹
    获取上次打开目录
    C#拆分中文和数字字符串
    uCharts如何设置双Y轴,左侧一个右侧一个,数据源与对应的Y轴绑定
  • 原文地址:https://www.cnblogs.com/jimoliunian/p/14411873.html
Copyright © 2011-2022 走看看