Apache中按天分割日誌(Windows)

網上很多資料都有對Apache的access.log按天生成的方法,但在Windows server下稍有不同:

 1、打開httpd.conf配置文件找到:

 

 CustomLog "logs/access.log" common

 

2、將其改爲:

 

CustomLog "|bin/rotatelogs.exe  logs/%Y_%m_%d.access.log 86400 480" common


紅色部分與網上大部分資料不同,windows下應使用相對路徑,使用絕對路徑Apache會啓動會報錯。

 

http://blog.csdn.net/liyan_5976/article/details/5636913

 

===========================================================================

在apache的配置文件中找到
ErrorLog logs/error_log
CustomLog logs/access_log common

Linux系統配置方法:

將其改爲 
ErrorLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_error_log 86400 480"
CustomLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_access_log 86400 480" common

Windows系統下配置方法:

#ErrorLog "|bin/rotatelogs.exe logs/vicp_net_error-%y%m%d.log 86400 480"
#CustomLog "|bin/rotatelogs.exe logs/vicp_net_access-%y%m%d.log 86400 480" common

第一次不知道設置480這個參數,導致日誌記錄時間和服務器時間相差8小時,原來是rotatelogs有一個offset參數,表示相對於UTC的時差分鐘數,中國是第八時區,相差480分鐘。86400是表示1天。

附rotatelogs說明

rotatelogs logfile [ rotationtime [ offset ]] | [ filesizeM ]

選項
logfile
它加上基準名就是日誌文件名。如果logfile中包含’%',則它會被視爲用於的strftime(3)的格式字串;否則,它會被自動加上以秒爲單位的.nnnnnnnnnn後綴。這兩種格式都表示新的日誌開始使用的時間。
rotationtime
日誌文件回捲的以秒爲單位的間隔時間
offset
相對於UTC的時差的分鐘數。如果省略,則假定爲0,並使用UTC時間。比如,要指定UTC時差爲-5小時的地區的當地時間,則此參數應爲-300。
filesizeM
指定回捲時以兆字節爲單位的後綴字母M的文件大小,而不是指定回捲時間或時差。

---------------

httpd.conf中CustomLog logs/access.log common 改成

CustomLog "|c:/apache/bin/rotatelogs.exe c:/apache/logs/access_%Y_%m_%d.log 86400" common

其中把c:改成你安裝apache所在的路徑.

重啓Apache

其中c:/apache/是你安裝apache的路徑這樣每一天生成一個日誌文件

發佈了140 篇原創文章 · 獲贊 38 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章