如果变量值为空,则从 logback 消息中删除空格

mar*_*tin 11 logback

我使用以下 logback 模式:

<pattern>%X{version} %d{HH:mm:ss.SSS} %.-1level %C{0}:%M:%L %msg %n</pattern>
Run Code Online (Sandbox Code Playgroud)

如果设置了,这会产生一个很好的输出version,但在某些情况下它可以为空。

%X{version}在这种情况下,每个日志行中都有一个前导空格(由和之间的空格产生%d{HH:mm:ss.SSS})。

简单的解决方案是从模式中删除空格并将其附加到版本的值中。有没有更优雅的方法来解决这个问题?

小智 0

您可以使用 omitEmptyFields 选项吗?

例子:

            <pattern>
                <pattern>
                    {
                      "myField": {
                        "mySubField": "%mdc{abc}"
                      },
                      "myField2": "%mdc{abc}" 
                    }
                </pattern>
                <omitEmptyFields>true</omitEmptyFields>
            </pattern>
Run Code Online (Sandbox Code Playgroud)

参考: