您的位置:首页 > 运维架构 > Apache

apache日志切割与不记录指定文件类型日志

2015-12-14 16:19 811 查看
1、# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 修改日志文件为:
ErrorLog "logs/test.com-error_log" 错误日志CustomLog "logs/test.com-access_log" combined 访问日志 相对路径
Apache的common日志格式定义:# vim /usr/local/apache2/conf/httpd.conf<IfModule log_config_module># The following directives define some format nicknames for use with# a CustomLog directive (see below).LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedLogFormat "%h %l %u %t \"%r\" %>s %b" common<IfModule logio_module>%h:客户机的IP地址%l:客户机登陆名称%u:认证用户%t:访问的日期、时间%r:客户访问的方式,访问的什么资源,什么协议%>s 请求对应的状态码 #2开头正常,3开头被重定向,4开头客户端存在错误,5开头服务器端遇到错误%b:传送的字节数%{Referer}: 从哪个页面来的(比如从百度搜索到的QQ空间,那Referer就是百度%{User-Agent}:客户用的什么浏览器# tail -10 test.com-access_log192.168.101.175 - - [01/Dec/2015:14:36:52 +0800] "GET /misc.php?mod=patch&action =pluginnotice&inajax=1&ajaxtarget=plugin_notice HTTP/1.1" 200 63
每天都会有大量的日志,该怎么处理呢?# vim /usr/local/apache2/conf/extra/httpd-vhosts.confErrorLog "logs/test.com-error_log"CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/test.com-access_%Y%m%d_log 86400" combined86400s==一天# ls /usr/local/apache2/logs 此时日志按照天分割test.com-access_20151214_log test.com-error_log
Apache如何做到不记录指定文件类型日志?# !vimvim /usr/local/apache2/conf/extra/httpd-vhosts.conf SetEnvIf Request_URI ".*\.gif$" image-request SetEnvIf Request_URI ".*\.jpg$" image-request SetEnvIf Request_URI ".*\.png$" image-request SetEnvIf Request_URI ".*\.bmp$" image-request SetEnvIf Request_URI ".*\.swf$" image-request SetEnvIf Request_URI ".*\.js$" image-request SetEnvIf Request_URI ".*\.css$" image-request ErrorLog "logs/test.com-error_log" CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/test.com-access_%Y%m%d_log 86400" combined env=!image-reqest
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息