我有一个运行在docker容器中的Apache服务器,通过 CustomLog /dev/stdout 和 ErrorLog /dev/stderr 指令将日志输出到STDOUT/STDERR。现在,当我调用包含Apache启动命令(apachectl start &)的脚本时,我无法在控制台上查看日志。但是,如果使用 apachectl start -DFOREGROUND 命令,则可以在控制台上看到输出。你有任何想法如何在后台运行的Apache服务器上获取控制台日志吗?感谢您的帮助。
如果您的容器运行一个主Bash脚本,您可以添加以下重定向:
sudo ln -sf /proc/$$/fd/1 /var/log/apache2/access.log
sudo ln -sf /proc/$$/fd/2 /var/log/apache2/error.log
tail /var/log/apache2/access.log -f&tail /var/log/apache2/error.log -f 2>&1&
而不是符号链接。 - Gogowitsch