Apache如何每天生成獨立日誌文件(access_log和error_log)

apache運行自動生成access_log(訪問日誌)和error_log(錯誤日誌)兩種日誌文件,這對於系統管理員或網站運營人員是非常有用的。

我安裝的是centos,使用yum方式安裝lamp環境的,日誌文件位置:

/var/log/httpd/access_log是Apache服務器的訪問日誌文件
/var/log/httpd/error_log是Apache服務器的錯誤日誌文件

如果把所有的訪問日誌都放在access_log,所有的錯誤日誌都放在error_log文件,那麼着兩個文件肯定會很大,你打開日誌的時間都會很長,別說看了,而且影響網站速度。我看了下php點點通,剛轉到阿里雲才幾天,日誌文件都有幾十兆了,因此限制日誌文件大小是很有必要的。

打開apache的配置文件:vi /etc/httpd/conf/httpd.conf

編輯:

#錯誤日誌

#ErrorLog logs/error_log #註釋,加上下面這行

ErrorLog "|rotatelogs /var/log/httpd/error_log%Y_%m_%d.log 86400 480"  #每天生成錯誤日誌

#訪問日誌

#CustomLog logs/access_log common #註釋加上下面這樣

CustomLog "|rotatelogs /var/log/httpd/access_log%Y_%m_%d.log 86400 480" common #每天生成訪問日誌

OK,重啓apache,你就可以看到新生成的日誌文件:

Apache如何每天生成獨立日誌文件(access_log和error_log)

Rotatelogs的用法如下:


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

選項:

    -l

    使用本地時間代替GMT時間作爲時間基準。注意:在一個改變GMT偏移量(比如夏令時)的環境中使用-l會導致不可預料的結果。

    logfile

    它加上基準名就是日誌文件名。如果logfile中包含"%",則它會被視爲用於strftime()的格式字符串;否則它會被自動加上以秒爲單位的".nnnnnnnnnn"後綴。這兩種格式都表示新的日誌開始使用的時間。

    rotationtime

    日誌文件滾動的以秒爲單位的間隔時間。

    offset

    相對於UTC的時差的分鐘數。如果省略,則假定爲"0"並使用UTC時間。比如,要指定UTC時差爲"-5小時"的地區的當地時間,則此參數應爲"-300"。

    filesizeM

    指定以filesizeM文件大小滾動,而不是按照時間或時差滾動。





轉載於:http://www.phpddt.com/server/apache-access-error-log.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章