java - Cloud Foundry - log4j2 - 在日志中合并应用程序 URI
问题描述
我们正在 Cloud Foundry 中登录到 splunk(通过 logreggator)。我们通过 slf4j 使用 log4j2。
我们已经在 log4j2 配置中指定了实例 UID 和索引:
<Console ...>
...
<KeyValuePair key="@instanceGUID" value="${env:CF_INSTANCE_GUID:-unknown}" />
...
</Console>
有没有办法为空间/路线/池做类似的事情?理想情况下,我们希望能够将 @space 包含在 dev、qa、uat 等值中,以及 pool: emea1、gb2 等值中。
在最基本的情况下,在日志中捕获路线就足够了。
任何指针表示赞赏。
解决方案
您可以从中提取空间名称VCAP_APPLICATION
。例如:echo $VCAP_APPLICATION | jq .space_name
。
您也可以获取 URI/Routes,但可能有多个,所以我不确定您要记录的确切内容。例如:echo $VCAP_APPLICATION | jq '.uris | first'
会给你第一个。如果您不将多个路由绑定到您的应用程序,也许这已经足够了......
不知道你说的池子是什么意思。如果您指的是细胞,我不知道有什么方法可以做到这一点。您可以做的最好的事情是 Cell 的 IP,即CF_INSTANCE_IP
.
您也可以随时添加自己的环境变量,以将更多信息合并到您的日志中。
希望有帮助!
推荐阅读
- wordpress - 无法在 acf/init 中的函数内获取自定义帖子类型 ID
- model-view-controller - TCPConnection IO 异常 Web 应用程序
- visual-studio - 将 asp.net 核心从 2.1.0 升级到 2.1.5
- excel-formula - 去除尾部斜杠的值
- java - 从 MySQL 中检索指纹数据并在 Java 中进行比较?
- php - 使用 Laravel 在特定日期发送提醒邮件
- docker - Jenkins Kubernetes 插件安全上下文
- java - java没有这样的实例方法'org.json.simple.JSONObejct.getJSONArray'
- java - Logback 引用在 IntelliJ 中使用 Spring Boot 是 RED
- python - 使用python pandas旋转列值的计数