Apache日志行不按顺序出现 - 为什么?

时间:2009-06-22 13:48:37

标签: apache

我有一个apache web服务器,当某个用户访问某个页面时,我得到一个时间戳不同步的日志行。

示例输出:

IP1 - - [22/Jun/2009:12:20:40 +0000] "GET URL1" 200 3490 "REFERRING_URL1" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"

IP2 - - [22/Jun/2009:12:11:47 +0000] "GET URL2" 200 17453 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.5; en-US; rv:1.9.0.11) Gecko/2009060214 Firefox/3.0.11"

IP3 - - [22/Jun/2009:12:20:41 +0000] "GET URL3" 200 889 "REFERRING_URL2" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GTB6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; 3P_USEC 1.0.11.2; .NET CLR 3.5.30729; .NET CLR 3.0.30618)"

(我已匿名请求IP - IP1,IP2和IP3,请求的URL - URL1,URL2和URL3以及两个引用者URL)

可以看出,三行(按此顺序出现在日志中)不同步。这仅在IP2请求URL2时发生 - 所有其他日志似乎都正常。

有什么想法吗?

2 个答案:

答案 0 :(得分:23)

在请求完成时写入日志,因此可以在较晚的请求之后写入早期请求。将%D添加到游览LogFormat定义以查看提供请求所用的时间(以微秒为单位)。

查看更多here

答案 1 :(得分:0)

也许你正在做某种COMET请求?

我的第一个想法是日志只记录请求完成的时间?因此,IP1的请求可能需要一段时间才能完成,但是在IP2之前就已经到了。只有我知道的行为是AJAXey Comet请求。

可能不是正确的答案,也许是一个线索。

修改http://www.linuxquestions.org/questions/linux-networking-3/apache-log-entries-order-516354/确认日志中的时间包括将内容传输到浏览器所需的时间。