2013-11-21 50 views

回答

22

有一個記錄器rotating_file
這裏有一個例子:

monolog: 
    handlers: 
     main: 
      type: rotating_file 
      path: %kernel.logs_dir%/%kernel.environment%.log 
      level: debug 
+12

理想的情況下,雖然這應該使用日誌來完成在Linux上旋轉。 – Seldaek

+0

@Seldaek也許你可以發表一個答案說明它?作爲Monolog的創造者,你比我更瞭解如何實現這一點! ;-) – Florent

+6

作爲Monolog的創建者,我知道我不想重寫一個永遠存在的工具並且工作得很好,但我不是logrotate pro :)無論如何@loicfavory在下面發佈了一個logrotate配置示例,我會把它留在那。我只想指出,並非所有的任務都最好用php完成。 – Seldaek

35

在Linux上,你可以使用日誌輪播(我不知道是否存在於Windows或者MacOS的其他解決方案)

在/etc/logrotate.d/創建(如:sf2_myapp)的文件,並添加這些內容:

/path/to/your/symfony_app/app/logs/prod.log { 
     daily 
     missingok 
     rotate 14 
     compress 
} 

你應該尋找在谷歌logrotate的更多相關信息

+0

如果你只是旋轉一個文件而不使用任何腳本(如postrotate),則不需要sharedscripts。 – mpeters

+4

,如果你想要手動強制旋轉一旦你做了這個配置文件,運行'logrotate --force/etc/logrotate.d/sf2_myapp' –

+0

@mpeters:謝謝,我刪除了「sharedscripts」 – loicfavory