如何将Apache日志重定向到标准输出和Apache日志文件

如何将Apache日志重定向到标准输出和Apache日志文件,apache,docker,httpd.conf,Apache,Docker,Httpd.conf,我正在运行一个docker容器,希望将apache服务器的日志写入标准输出和文件 知道我的Apache httpd.conf文件中需要什么样的配置吗 任何帮助都将不胜感激 您可以尝试以下方法: CustomLog“|/usr/bin/tee/var/log/access_log”common 从apache.org文档: apachehttpd能够通过管道将错误写入并访问日志文件到另一个进程,而不是直接访问文件。此功能显著提高了日志记录的灵活性,而无需向主服务器添加代码。为了将日志写入管道,只需

我正在运行一个docker容器,希望将apache服务器的日志写入标准输出和文件

知道我的Apache httpd.conf文件中需要什么样的配置吗

任何帮助都将不胜感激

您可以尝试以下方法:

CustomLog“|/usr/bin/tee/var/log/access_log”common

从apache.org文档:
apachehttpd能够通过管道将错误写入并访问日志文件到另一个进程,而不是直接访问文件。此功能显著提高了日志记录的灵活性,而无需向主服务器添加代码。为了将日志写入管道,只需将文件名替换为管道字符“|”,后跟可执行文件的名称,该可执行文件应在其标准输入上接受日志条目。Apache将在服务器启动时启动管道日志进程,如果在服务器运行时崩溃,Apache将重新启动该进程。(这最后一个功能就是为什么我们可以将此技术称为“可靠的管道日志记录”。

附加说明:您可以在同一上下文中多次定义和使用CustomLog,也就是说,您可以使用CustomLog直接指向一个文件,并使用另一个CustomLog指令和管道等其他内容。谢谢@maoz zadok!在与这个问题搏斗了一两个小时后,我终于成功了。我正在运行一个带有
2.4.43-alpine
的容器,我想将日志同时写到stdout和卷上的文件。我可以用
CustomLog/proc/self/fd/1 common
将它们写入stdout,用
CustomLog/usr/local/apache2/logs/access.log common
将它们写入文件,但
CustomLog“|/proc/self/fd/1/usr/local/apache2/logs/access.log”common
导致错误
权限被拒绝:AH00104:无法启动管道日志程序
。将
/usr/bin/tee
替换为
/proc/self/df/1
使其工作。