Apache 访问日志到标准输出

Apache 访问日志到标准输出

有没有办法拦截 Apache(1 或 2)访问日志到 stdout没有

  • 修改配置文件
  • 重启服务

目前我的 apache 配置文件指定“CustomLog /dev/null common”系统是 Debian Etch。

提前感谢 serverfault 社区!

编辑:这个想法是执行“strace -p”对进程执行的操作。我希望 apache2ctl 或其他程序具有“转储当前访问”功能 :D

答案1

如果您正在寻找特定问题的解决方案,您可能需要更详细地解释您的要求和限制。但就目前情况而言,只需:

你能截取去往 的数据吗/dev/null

没有。

您能否告诉 Apache 在其他地方登录而无需修改其配置文件或重新启动服务。

没有。


更新:

我还没想过使用strace。但事实上,你可以用它来检查write()调用。

strace -ewrite -s1000 -p<PID>

跟踪进程时,你会遇到一些困难。我认为 strace 的 fork 检测不一定能帮到你。这意味着你将不断地四处寻找哪个进程处理了给定的请求。

至于 Apache 中的这种功能。这太糟糕了,根本不可能存在。我认为你是一个极端案例 ;)

答案2

临时更改配置文件,然后重新加载它们怎么样?您要求重新配置 Apache,很简单。如果您关心的是可用性,Apache 有一个“重新加载”功能,它将使用新配置而不丢弃活动连接。

编辑:这是我见过的最疯狂的事情:故障信息

这是一个小工具,用于重定向正在运行的进程的文件描述符,并更广泛地调整它们。它的工作原理是使用 ptrace 附加到现有进程并强制其执行某个系统调用。这样,您可以强制进程放弃特权,以将文件描述符重定向到文件或 TCP/IP 连接,使用 unix 套接字将描述符连接到另一个正在运行的进程的描述符,或将文件描述符设置为另一个正在运行的进程的描述符(使用 unix 文件描述符传递)。由于代码钩子依赖于体系结构,因此目前仅支持 linux-x86 和 linux-x86_64 体系结构。欢迎为其他体系结构提供补丁。

答案3

我不完全确定你想要实现什么,但如果你只是想在 stdout 上查看日志的更新...你可以在 Apache 访问或错误日志更新时实时查看它们,使用“follow”选项tail

例如

tail -f /var/log/apache2/access.log

Tail 手册页

答案4

伙计们,如何使用urlsnarf

相关内容