Apache HTTP服务器日志文件的理解(3)

虚拟主机
如果服务器配有若干虚拟主机,那么还有几个控制日志文件的功能。首先,可以把日志指令放在段之外,让它们与主服务器使用同一个访问日志和错误日志来记录所有的请求和错误,但是这样就不能方便的获得每个虚拟主机的信息了。
如果把CustomLog或ErrorLog指令放在段内,所有对这个虚拟主机的请求和错误信息会被记录在其私有的日志文件中,那些没有在段内使用日志指令的虚拟主机将仍然和主服务器使用同一个日志。这种方法对虚拟主机较少的服务器很有用,但虚拟主机非常多时,就会带来管理上的困难,还经常会产生文件描述符短缺的问题。
对于访问日志,有一个很好的折衷方案,在同一个访问日志文件中记录对所有主机的访问,而每条记录都注明虚拟主机的信息,日后再把记录拆开存入不同的文件。例如:
LogFormat "%v %l %u %t \"%r\" %>s %b" comonvhost
CustomLog logs/access_log comonvhost
%v 用来附加虚拟主机的信息。有个split-logfile程序可以根据不同的虚拟主机信息对日志进行拆分,并将结果存入不同的文件。
top
其他日志文件
相关模块 相关指令
* mod_logio
* mod_log_forensic
* mod_cgi
* mod_rewrite
* LogFormat
* ForensicLog
* PidFile
* RewriteLog
* RewriteLogLevel
* ScriptLog
* ScriptLogBuffer
* ScriptLogLength
记录接收和发送的实际字节数
mod_logio增加了两个额外的LogFormat字段(%I 和 %O)用于记录接收和发送的实际字节数。
对比记录(Forensic Logging)
mod_log_forensic提供了对客户端请求的对比记录,也就是在请求被处理之前和处理完成之后进行两次记录,所以对比日志(forensic log)对于每个请求都包含两条记录。对比记录器(forensic logger)十分严格,不可以进行定制。它可以成为无价的调试和安全工具。
PID文件
在启动时,Apache httpd将会在logs/httpd.pid文件中保存其父进程httpd的进程ID(process id[PID])。该文件名可以用PidFile指令改变。该PID可以被管理员利用来重新启动或者终止服务器后台守护进程。在Windows中,可以使用命令行参数 -k 。更多信息请参见停止和重新启动。
脚本日志
为了方便调试,可以用ScriptLog指令来记录CGI脚本的输入和输出。此功能应该仅用于测试,而不应该用于正常工作的服务器。更多资料请参见mod_cgi文档。
重写日志
在使用强大且灵活的mod_rewrite时,几乎都有必要用RewriteLog来帮助调试。这个日志提供了重写引擎如何转换请求的详细分解信息,其详细程度取决于RewriteLogLevel指令。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwwsjy.html