简体   繁体   English

logback 和 MDC

[英]logback and MDC

is there a way to log a property from MDC as Integer?有没有办法将 MDC 的属性记录为 Integer? I have this pattern in my logback.xml ,我的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>

and I want to print the duration as Integer not string, if not, is there a way to read a java variable in logback.xml ?我想将持续时间打印为 Integer 而不是字符串,如果没有,有没有办法在logback.xml中读取 java 变量? or is there any suggestion to log this variable as integer?或者有什么建议将此变量记录为 integer?

mdc can use defualt value with symbol:-.default value support expression like %mdc{duration:-${defaultCostTime}} mdc 可以使用带符号的默认值:-。默认值支持表达式,如 %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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM