gpt4 book ai didi

java - 如何使用 Spring Boot 将 git commit id 输出到所有 logback 日志?

转载 作者:行者123 更新时间:2023-12-02 01:05:16 25 4
gpt4 key购买 nike

我正在使用带有 Logback 的 SpringBoot 以及 git commit id maven 插件。如何配置 logback 和 SpringBoot 以包含执行器在日志输出中返回的 git commit id?我希望每行输出都包含生成该输出行的启动应用程序的 git commit id。

最佳答案

默认情况下,git-commit-id-plugin 在类路径的根目录中创建一个名为 git.properties 的文件,其中包含许多属性,包括 git.commit.id.

您可以import these properties在 logback 的配置文件中,并访问 logback 配置中任何位置的属性。

例如,您可以在如下模式中使用它:

<configuration>

<!-- Expose the properties from the file generated by git-commit-id-plugin -->
<property resource="git.properties"/>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} ${git.commit.id} - %message%n</pattern>
</encoder>
</appender>
...
</configuration>

或者(因为您使用 logstash-logback-encoder 标记了这个问题)您可以通过 custom fields 将其包含在 JSON 字段中,或通过 pattern provider像这样:

<configuration>

<!-- Expose the properties from the file generated by git-commit-id-plugin -->
<property resource="git.properties"/>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<pattern>
<pattern>{"commitId":"${git.commit.id}"}</pattern>
</pattern>
...
</providers>
</encoder>
</appender>
...
</configuration>

关于java - 如何使用 Spring Boot 将 git commit id 输出到所有 logback 日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60128839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com