【问题标题】:logback and MDClogback 和 MDC
【发布时间】:2021-03-01 11:40:35
【问题描述】:

有没有办法将 MDC 中的属性记录为整数?我的logback.xml 中有这种模式,

<pattern>
    {
    "level": "%level",
    "maz": {
    "tenant": "%mdc{tenant}",
    "login": "%mdc{login}",
    "process": "backend"
    },
    "http": {
    "host": "%mdc{host}",
    "provider": "%mdc{provider}",
    "method": "%mdc{method}",
    "request": "%mdc{request}",
    "query": "%mdc{query}",
    "size_o": "%mdc{size}",
    "status": "%mdc{status}",
    "duration_ms": "%mdc{duration}"
    },
    "message": "%message"
    }
</pattern>

我想将持续时间打印为整数而不是字符串,如果没有,有没有办法在logback.xml 中读取 java 变量?或者有什么建议将此变量记录为整数?

【问题讨论】:

    标签: java spring-boot logback mdc


    【解决方案1】:

    mdc 可以使用带符号的默认值:- .default 值支持表达式,例如 %mdc{duration:-${defaultCostTime}}

    <property name="defaultCostTime" value="1"/>
    
    <pattern>
        {
        "level": "%level",
        "maz": {
        "tenant": "%mdc{tenant}",
        "login": "%mdc{login}",
        "process": "backend"
        },
        "http": {
        "host": "%mdc{host}",
        "provider": "%mdc{provider}",
        "method": "%mdc{method}",
        "request": "%mdc{request}",
        "query": "%mdc{query}",
        "size_o": "%mdc{size}",
        "status": "%mdc{status}",
        "duration_ms": %mdc{duration:-${defaultCostTime}}
        },
        "message": "%message"
        }
    </pattern>
    

    【讨论】:

      猜你喜欢
      • 2019-06-06
      • 1970-01-01
      • 2018-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      • 2016-01-18
      • 2019-05-21
      相关资源
      最近更新 更多