Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2454333
  • 博文数量: 540
  • 博客积分: 11289
  • 博客等级: 上将
  • 技术积分: 6160
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-11 20:27
个人简介

潜龙勿用,见龙在田

文章分类

全部博文(540)

文章存档

2018年(2)

2013年(5)

2012年(24)

2011年(104)

2010年(60)

2009年(217)

2008年(128)

分类: 系统运维

2008-09-24 12:21:23

关于apache条件日志相关文档,可以先看看apache官方文档,一下是中文翻译官方文档链接:


许多时候,根据与请求特征相关的来有选择地记录某些客户端请求会带来便利。首先,需要使用指令来设置特定的以标识符合某种特定条件的请求,然后用CustomLog指令的 env= 子句,根据这些来决定记录或排除特定的请求。例如:

# 不记录本机发出的请求
SetEnvIf Remote_Addr "127\.0\.0\.1" dontlog
# 不记录对robots.txt文件的请求
SetEnvIf Request_URI "^/robots\.txt$" dontlog
# 记录其他请求
CustomLog logs/access_log common env=!dontlog

再如,将使用英语的请求记录到一个日志,而记录非英语的请求到另一个日志:

SetEnvIf Accept-Language "en" english
CustomLog logs/english_log common env=english
CustomLog logs/non_english_log common env=!english

虽然上述已经展示了条件日志记录的强大和灵活,但这不是控制日志内容的唯一手段,还可以用日志后继处理程序来剔除你不关心的内容,从而使日志更加有用。

另外的例子,比如我不想.gif,,.jpg,.xbm结尾的都不写入日志文件,则:

SetEnvIf Request_URI "\.gif$" object_is_image=yes
SetEnvIf Request_URI "\.jpg$" object_is_image=yes
SetEnvIf Request_URI "\.xbm$" object_is_image=yes
CustomLog logs/access_log common object_is_image=!yes

再来:
为了提高系统的访问速度,需要减少Apache日志操作,下面是Apache日志过滤的参考样例:

# filter the localhost visit
SetEnvIf Remote_Addr "127\.0\.0\.1" dontlog
# filter some special directories
SetEnvIf Request_URI "^/system/.*$" dontlog
SetEnvIf Request_URI "^/export/.*$" dontlog
SetEnvIf Request_URI "^/resources/.*$" dontlog
# filter the intranet visit
SetEnvIf Remote_Addr "211\.167\.51\.199" dontlog
# filter the google bot
SetEnvIf Remote_Addr "66\.249\.6[4-9]\.[0-9]+" dontlog
SetEnvIf Remote_Addr "66\.249\.[7-8][0-9]\.[0-9]+" dontlog
SetEnvIf Remote_Addr "66\.249\.9[0-5]\.[0-9]+" dontlog
# filter the microsoft bot: 65.52.0.0 - 65.55.255.255
SetEnvIf Remote_Addr "65\.5[2-5]\.[0-9]+\.[0-9]+" dontlog

CustomLog logs/access_log common env=!dontlog
阅读(1572) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~