上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.6 日志记录
Apache可以记录Web访问中感兴趣的几乎所有信息。当运行Apache服务器时,生成两个标准的日志文件—access_log和error_log。除了error_log(默认情况下就是access_log),所有日志文件都由CustomLog和LogFormat指令指定的格式生成。这些指令在httpd.conf文件中出现。使用LogFormat指令可以定义新的日志文件格式:
LogFormat "%h %l %u %t \ "%> %s %b "common
common日志格式是创建自定义日志格式的好的起始点。注意大多数可用的日志分析根据假定使用的是common日志格式或者combined日志格式,这两种格式都在默认的配置文件中定义。
表3-5列出了LogFormat语句可以使用的变量:
表3-5 LogFormat语句的变量
在每个变量中,可以在前面设置一个条件,决定是否显示该变量。如果不显示,则显示-。这些条件是数值返回值列表的形式。例如,%!401u将显示REMOTE_USER的值,除非返回值为401。可以使用CustomLog指令指定日志文件的位置和格式。下面是httpd.conf文件中指定日志文件的语句:
// // The location and format of the access logfile(Common Logfile Format). // If you do not define any access logfiles within a <VirtualHost> // container, they will be logged here. Contrariwise, if you *do* // define per-<VirtualHost> access logfiles, transactions will be // logged therein and *not* in this file. // CustomLog logs/access_log common
没有指定日志文件的绝对路径,则日志文件的位置假定为相对于ServerRoot。