Cloud Foundry - log4j2 - 在日志中合并 App URI
Cloud Foundry - log4j2 - Incorporate App URI in log
我们正在 Cloud Foundry 中记录到 splunk(通过 logreggator)。我们通过 slf4j 使用 log4j2。
我们已经在 log4j2 配置中指定了实例 UID 和索引:
<Console ...>
...
<KeyValuePair key="@instanceGUID" value="${env:CF_INSTANCE_GUID:-unknown}" />
...
</Console>
有什么方法可以为 space/route/pool 做类似的事情吗?
理想情况下,我们希望能够包含 @space 等值,如 dev、qa、uat 等...和池:emea1、gb2 等...
最基本的捕获日志中的路线就足够了。
感谢任何指点。
您可以从 VCAP_APPLICATION
中提取 space 名称。例如:echo $VCAP_APPLICATION | jq .space_name
。
您也可以获得 URI/Routes,但可能有多个,所以我不确定您到底想记录什么。例如:echo $VCAP_APPLICATION | jq '.uris | first'
会给你第一个。如果您不将多个路由绑定到您的应用程序,也许这就足够了...
我不知道你说的游泳池是什么意思。如果您指的是 Cell,我不知道有什么方法可以做到这一点。你能做的最好的就是Cell的IP,也就是CF_INSTANCE_IP
.
您也可以随时添加自己的环境变量,以将更多信息合并到您的日志中。
希望对您有所帮助!
我们正在 Cloud Foundry 中记录到 splunk(通过 logreggator)。我们通过 slf4j 使用 log4j2。
我们已经在 log4j2 配置中指定了实例 UID 和索引:
<Console ...>
...
<KeyValuePair key="@instanceGUID" value="${env:CF_INSTANCE_GUID:-unknown}" />
...
</Console>
有什么方法可以为 space/route/pool 做类似的事情吗? 理想情况下,我们希望能够包含 @space 等值,如 dev、qa、uat 等...和池:emea1、gb2 等...
最基本的捕获日志中的路线就足够了。
感谢任何指点。
您可以从 VCAP_APPLICATION
中提取 space 名称。例如:echo $VCAP_APPLICATION | jq .space_name
。
您也可以获得 URI/Routes,但可能有多个,所以我不确定您到底想记录什么。例如:echo $VCAP_APPLICATION | jq '.uris | first'
会给你第一个。如果您不将多个路由绑定到您的应用程序,也许这就足够了...
我不知道你说的游泳池是什么意思。如果您指的是 Cell,我不知道有什么方法可以做到这一点。你能做的最好的就是Cell的IP,也就是CF_INSTANCE_IP
.
您也可以随时添加自己的环境变量,以将更多信息合并到您的日志中。
希望对您有所帮助!