格式化工具地址:http://xia.im/upload/apache-log-formatter.html

学会分析网站的访问日志是很有帮助的,比如分析网站的内容(如图像、音乐等)有没有被盗链,这就是网站统计工具做不到的。Apache 的网站日志分析方法,ludou 的一篇文章《学会分析网站原始访问日志》写得非常详细,并针对一些问题提供了相应的解决方案。同时,他还提供了一个对日志文件内容进行分析的工具,可以将其转变成更易读的方式呈现出来。我这个分析工具本质上来说与他的是一样的,不同之处是他的工具是利用 PHP 生成出一个类似于 cPanel 中最近访客 Legacy version 样式的网页,而我的工具则是完全利用 JavaScript 生成出一个类似于 cPanel 中最近访客样式的网页。

下面这个是一个标准的 Apache 日志文件的内容片段:

209.85.238.215 - - [22/Sep/2011:06:11:26 -0700] "GET /feed/ HTTP/1.1" 304 0 "-" "Feedfetcher-Google; (+http://www.google.com/feedfetcher.html;)"
61.135.216.105 - - [22/Sep/2011:06:14:28 -0700] "GET /feed/rss/ HTTP/1.1" 304 0 "-" "Mozilla/5.0 (compatible;YoudaoFeedFetcher/1.0;http://www.youdao.com/help/reader/faq/topic006/;)"
61.135.216.105 - - [22/Sep/2011:06:22:28 -0700] "GET /comments/feed/ HTTP/1.1" 304 0 "-" "Mozilla/5.0 (compatible;YoudaoFeedFetcher/1.0;http://www.youdao.com/help/reader/faq/topic006/;)"
111.13.8.52 - - [22/Sep/2011:06:29:05 -0700] "GET /2011/04/wp-minify/?replytocom=31 HTTP/1.1" 301 15536 "http://xia.im/2011/04/wp-minify/?replytocom=31#respond" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
111.13.8.52 - - [22/Sep/2011:06:29:12 -0700] "GET /2011/04/wp-minify/ HTTP/1.1" 200 17141 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
61.135.216.105 - - [22/Sep/2011:06:29:33 -0700] "GET /feed/rss/ HTTP/1.1" 304 0 "-" "Mozilla/5.0 (compatible;YoudaoFeedFetcher/1.0;http://www.youdao.com/help/reader/faq/topic006/;)"


本工具可以对原始日志中的所有内容进行处理,包括:Ip IP地址;Method 提交方式;Time 访问时间;Path 访问路径;Ver HTTP版本;Code 请求码;Size 请求大小;Referer 来路;User-Agent 用户识别符。

此外还提供了:

  • IP 反查功能,可以点击 IP 右边的“”进行反查,数据源有两个,在最下方的工具条内选择
  • 数据筛选,点击数据左边的“F”可以对 IP、Path、Referer、User-Agent 进行保留筛选;点击数据左边的“E”可以进行排除筛选;最下方工具栏可针对特定字符串进行数据筛选。
  • 数据排序,点击表头可以对 IP、Code、Ver、Time、Size、Method 进行排序,可与筛选功能配合使用。
  • 快速访问,填入你的域名,然后就可以点击 Path 右边的“>”进入到该地址,Referer 栏同样具有此功能。
  • 单位切换,可以使用 KB 做 Size 的单位,相比之下更习惯使用 KB,方便换算。
  • Code 提示,对于大于等于 400 的错误代码使用粗红标出。对 mdb 文件的访问也采用粗红标出。

特别要注意的是,利用 Javascript 生成需要时间,尤其是处理大量数据时,经过测试,Chrome 等使用 V8 引擎(不是汽车里的 V 排列 8 气缸引擎)的浏览器表现最好,在我的机器上处理 100KB,4620 条记录的日志花了 10 秒,Firefox 要花的时间要多一倍多,主要是可能会提示好几次当前脚本运行过慢而卡住(也许是其它插件弹出的)。没有针对 IE7 和以下的 IE 优化,CSS 表现完全错误。

本工具仅适合少量简单数据的查看和简单分析,如果需要强大的数据分析(筛选、排列、图表)功能,Excel 绝对是最好的选择。

更新日志:

  • 1.43 生成表格性能提升约 3%,囧。
  • 1.42 改进取消筛选的性能。
  • 1.41 修正 .mdb 文件判断错误;改进表格和文本区的显示宽度。
  • 1.4 加入了排除筛选功能;加入了针对特定字符串的排除或保留的筛选功能。
  • 1.31 修正 IP 获取的 bug;合并了点重复代码。
  • 1.3 改善上色性能;改善筛选性能;加入排序功能(jQuery Plugin: TinySort)。
  • 1.21 表头修正。
  • 1.2 加入简单的数据筛选功能(性能还是很低的...)。
  • 1.11 加入简单的时间段统计显示;统计显示调整到表格上方。
  • 1.1 加入奇偶行表格背景色区分;加入简单的统计记录数和总流量。
  • 1.0 雏形。
  1. 看代码应该是亲自操刀原创的 :wink:

  2. 楼主的前端玩得不错嘛 :smile: