使用 logback-spring 在启动日志中记录 IPv4 地址

Logging IPv4 address in the startup logs using logback-spring

想知道在使用 logback spring 时是否有人能够在 spring-boot 应用程序的启动日志中以 ipv4 格式成功记录主机的 IP 地址 spring。

我有一个 spring-boot 微服务应用程序,我们使用 logback-spring 进行日志记录。我使用 logstash 的 LoggingEventCompositeJsonEncoder 将日志格式化为 json 格式。我们的要求之一是在日志中包含主机的 ipv4 地址

我能够利用 MDC 通过添加拦截请求的 servlet 过滤器为每个 api 请求放置 ipv4 格式的地址。这仅涵盖请求而不是 startup/shutdown 日志。

想知道是否有其他人遇到过这种要求并能够解决它。我能够输出主机名,只是不能输出 ipv4 地址

这就是我最终所做的。不确定是否有更好的方法:

我在 spring 引导应用程序 class 的主要方法中编写了 java 代码来查找 ipv4 地址。然后我将其设置为我在 logback-spring xml

中引用的环境变量