今天是 2006 最後一天,新年快樂!
以前提過使用 cronolog 作 Apache log 的分割處理,它是使用外部的程式去分割,但是今天在測試 Apache 2.2.3 的時候發現問題,可能是 Apache 的 bug,Apache 會發動愈來愈多的 cronolog.exe … 而且停 Apache 並不會停這些 process,這裡有討論.
在網上研究了一下,有人提供了 Apache 模組去達成同樣的功能 — mod_log_rotate,可以供 Apache 1.3 及 2.x 使用,它提供 c 的原始程式,另有網站提供了 Apache 2.0 及 2.2 在 Windows 平台編譯好的 module.
用法很簡單:
- 將 mod_log_rotate.so 放到 Apache 的 module 目錄,如 Apache2\modules.
- 在 httpd.conf 中加上
LoadModule log_rotate_module modules/mod_log_rotate.so
RotateLogs On (打開 log)
RotateLogsLocalTime On (用 local time 算,default 是用 UTC 時間)
RotateInterval 86400 (86400 是 default,也就是一天,這一行不加也可以) - 原本用 cronolog 的地方
CustomLog “|c:/bin/cronolog.exe logs/access_%Y%m%d.log” combined
改成
CustomLog logs/access_%Y%m%d.log combined
Ok !








January 1st, 2007 at 11:55 pm 1
[…] 精神奕奕 » Apache log 分割處理用的 mod_log_rotate 01/01 00:12, 2007 引述 :『mod_log_rotate,可以供 Apache 1.3 及 2.x 使用,它提供 c 的原始程式,另有網站提供了 Apache 2.0 及 2.2 在 Windows 平台編譯好的 module.』 前陣子還為這個小煩惱了一下哩~ […]
December 25th, 2007 at 11:40 am 2
您好, 我使用 Apache 2.2.6, 然後用的是這個 http://www.apachelounge.com/download/mods/mod_log_rotate-1.00a-w32.zip. 結果一執行就跑出這樣的訊息, 請問我用的版本和你的一樣嗎?
apache.exe: Syntax error on line 142 of D:/apache/conf/httpd.conf: Cannot load D:/apache/modules/mod_log_rotate.so into server: \xb5L\xaak\xb1\xd2\xb0\xca\xb3o\xad\xd3\xc0\xb3\xa5\xce\xb5{\xa6\xa1\xa1A\xa6]\xac\xb0\xc0\xb3\xa5\xce\xb5{\xa6\xa1\xaa\xba\xb3]\xa9w\xa4\xa3\xa5\xbf\xbdT\xa1C\xad\xab\xb7s\xa6w\xb8\xcb\xc0\xb3\xa5\xce\xb5{\xa6\xa1\xc0\xb3\xb8\xd3\xa5i\xa5H\xad\xd7\xb4_\xb3o\xad\xd3\xb0\xdd\xc3D\xa1C
December 27th, 2007 at 7:46 am 3
應該是一樣的,mod_log_rotate.so file size 10240, date 8/1/2006.
你有裝 Visual C++ 2005 Redistributable Package? README 有說明.
December 27th, 2007 at 8:28 pm 4
沒有耶, 不過我裝好了, 然後因為我用的是官方版的 apache.exe, 所以也把 httpd.exe.manifest 放到 bin. 不過結果還是失敗, 訊息如下
(Sys) 無法啟動這個應用程式,因為應用程式的設定不正確。重新安裝應用程式應該
可以修復這個問題。
我 httpd.conf 就加上這一段
LoadModule log_rotate_module modules/mod_log_rotate.so
RotateLogs On
RotateLogsLocalTime On
RotateInterval 86400
會不會是得換成 Apachelounge 的才可以呢?
December 27th, 2007 at 8:56 pm 5
也許吧? 我是用 Apachelounge 的.
March 17th, 2008 at 4:08 pm 6
我也遇到Syntax error!
在我自己的本本上(windowsXP)上安装apache2.2.8+mod_log_rotate.so,运行正常。但是我拿到服务器(windows2003 Server)上去,就无法启动apache,并报Syntax error,不知道该怎么继续了!