以最少的代码更改向 logback 日志添加版本号标记

问题描述 投票:0回答:1

我正在尝试将应用程序“版本”号添加到每个日志行的开头。在我的阅读中,我注意到“标记”正是我所需要的。

在代码中,我使用

@Slf4j
,它返回
ch.qos.logback.classic.Logger
,并且在整个代码中,它被简单地用作
log.info("Hey Bob")
。我如何在不影响现有代码的情况下将标记 (
log.info(VERSION_MARKER, "Hey Bob")
) 预先添加到每个日志语句中?

我不会/不能浏览数千行代码并进行更改。

或者,有更好的方法吗?

<appender name="LOGSTASH" class="ch.qos.logback.core.rolling.RollingFileAppender">
   <append>true</append>
   <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
      <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%wEx</Pattern>
   </encoder>
</appender>

所以我的假设是修改上面的模式。

java logback
1个回答
0
投票

您可以在模式中使用系统属性,例如

%property{app_version}

<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %property{app_version} %m%n%wEx</Pattern>

运行应用程序时,将

-Dapp_version=1.2.3
添加到命令行。

https://logback.qos.ch/manual/layouts.html#property

© www.soinside.com 2019 - 2024. All rights reserved.