Log4j Docker 支持

Log4j 通过提供查找以检索容器信息来支持 Docker。

Accessing Docker

Log4j Docker 支持需要访问 Docker REST 接口。实际上,这意味着应用程序需要通过卷挂载(不推荐)访问unix:///var/run/docker.sock,将 Docker 绑定到另一个主机/端口或 unix 套接字。或使用代理应用程序提供访问权限。 Log4j Spring Cloud 示例应用程序使用 socat 代理访问 Docker。

Lookup Attributes

Log4j Docker 提供对以下容器属性的访问:

  • containerId-分配给容器的完整 ID。

  • containerName-分配给容器的名称。

  • imageId-分配给图像的 ID。

  • imageName-分配给图像的名称。

  • shortContainerId-容器 ID 的前 12 个字符。

  • shortImageId-图像 ID 的前 12 个字符。

可以通过添加属性来访问属性

${docker:containerId}

配置。请注意,docker 变量在记录初始化期间仅解析一次,因此不应使用多个“ $”字符来引用它们。

Requirements

Log4j Docker 需要 Log4j Core,Log4j API 和最少的 Java8.有关更多信息,请参阅Runtime Dependencies