Docker 中的 Keycloak 日志文件

Fai*_*ani 3 java logging docker keycloak

我想要server.log文件记录成功登录、注销等事件。带有一些附加信息,例如User-Agent等。为此,我编写了一个 SPI(主要是从JBossLoggingEventListenerProvider.java&复制代码JBossLoggingEventListenerProviderFactory.java)并成功部署了 SPI,它出现在Events -> Config选项卡中,甚至生成我想要的登录控制台。

现在,当我转到/opt/jboss/keycloak/standalone/log/server.logDocker 内部的位置并打开它时,我的相关日志不在那里。我尝试了不同的选项,例如:

https://lists.jboss.org/pipermail/keycloak-user/2017-February/009498.html http://www.programmersought.com/article/30541589587/

但仍然没有成功。请让我知道如何让我的事件监听器将日志写入server.logDocker 内的文件。

Jan*_*raj 8

容器通常不会将日志写入文件,因为它们使用“临时”文件系统。他们通常将日志写入stdout/stderr,然后 Docker 守护进程管理他们的日志。您可以选择配置Docker 日志记录驱动程序,并且可以在 Docker 守护进程级别管理容器。容器日志转储(如果使用默认日志记录驱动程序):

docker logs <contaner> > <logfile.txt>
Run Code Online (Sandbox Code Playgroud)

当然,您可以配置应用程序(在您的情况下是Keycloak)来为日志文件写入日志,然后使用卷。这种高级的Keycloak日志配置超出了本问题的范围。