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。有关更多信息,请参阅 运行时依赖项。