Log4j Docker 支持

Log4j 通过提供一个查找来检索容器信息,从而支持 Docker。

访问 Docker

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

查找属性

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

  • containerId - 分配给容器的完整 ID。
  • containerName - 分配给容器的名称。
  • imageId - 分配给映像的 ID。
  • imageName - 分配给映像的名称。
  • shortContainerId - 容器 ID 的前 12 个字符。
  • shortImageId - 映像 ID 的前 12 个字符。

可以通过添加来访问属性

${docker:containerId}

到配置中。请注意,docker 变量只在日志记录初始化期间解析一次,因此不应该引用多个“$”字符。

要求

Log4j Docker 需要 Log4j Core、Log4j API 和最低 Java 8。有关更多信息,请参阅 运行时依赖项