2012-12-23 50 views
0

通過更改/Cake/Log/Engine/Filelog.php的寫入功能,我可以更改「error.log」和「debug.log」文件名。CakePHP更改error.log或debug.log文件名

有什麼方法可以在不破壞CakePHP 2核心文件的情況下更改這些文件名。

+0

你爲什麼想要?它們包含錯誤和調試信息,似乎很合適。您可以創建額外的日誌文件,即'CakeLog :: write('my_log','message');'和cake會創建一個名爲'my_log'的日誌文件。 – Ross

+0

因爲不存在大小限制。如果我不關心2周,我有一個2兆字節的error.log文件。我想將** date(「dmY)**」添加到文件名中 – trante

+0

然後您應該使用與logrotate類似的方法,將它的內容移動到「error-x.log」文件中,將最新的主文件保留原樣:name 「error.log」。例如,你可以定期使用crontask cronjob來做到這一點,不需要在這裏把這個開銷放到應用程序層。 – mark

回答

1

在上面的評論中,你說過你想更改這些日誌文件名稱的原因是因爲這些文件沒有大小限制。問題是:如果你有一個2MB大小的錯誤日誌,那麼你顯然會有更大的魚來炒。據我所知,沒有黑客入侵的核心,沒有辦法改變這些文件名。如果你真的擔心這兩個日誌文件的大小,那麼你可以設置一個cronjob,每24小時檢查這兩個文件的大小。如果日誌文件大小大於您設置的預定限制,則可以向您發送警報電子郵件。說實話:最好的方法是事先廣泛地測試你的應用程序,以便這兩個文件中的任何入口都變成一個驚喜,而不是一個例程。

0

沒有內置的配置來獲得你想要的。但是,您可以輕鬆地創建自定義記錄器類,它可以擴展FileLog並覆蓋相關函數並使用它。