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的路徑這樣每一天生成一個日志文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM