如何使用 Spring Boot 将 git commit id 输出到所有 logback 日志?
How to output git commit id to all logback logs with Spring Boot?
我正在使用带有 Logback 的 SpringBoot 以及 git commit id maven 插件。如何配置 logback 和 SpringBoot 以在我的日志输出中包含执行器 returns 的 git 提交 ID?我希望每一行输出都包含生成输出行的启动应用程序的 git 提交 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, or via the pattern provider 将它包含在 JSON 字段中,如下所示:
<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>
我正在使用带有 Logback 的 SpringBoot 以及 git commit id maven 插件。如何配置 logback 和 SpringBoot 以在我的日志输出中包含执行器 returns 的 git 提交 ID?我希望每一行输出都包含生成输出行的启动应用程序的 git 提交 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, or via the pattern provider 将它包含在 JSON 字段中,如下所示:
<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>