2013-11-21 7 views

Antwort

22

Es gibt einen Logger namens rotating_file.
Hier eine Beispielkonfiguration:

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

Im Idealfall sollte allerdings aussehen sollte dieses Protokoll durchgeführt werden unter Verwendung von rotiere auf Linux. – Seldaek

+0

@Seldaek Vielleicht könnten Sie eine Antwort schreiben, die es illustriert? Als der Schöpfer von Monolog weißt du besser als ich, wie man das erreicht! ;-) – Florent

+6

Als der Schöpfer von Monolog weiß ich, dass ich nicht ein Tool schreiben wollte, das für immer dort gewesen ist und sehr gut funktioniert, aber ich bin kein logrotate pro :) Wie auch immer, @loicfavory hat eine Beispiel logrotate config unten gepostet. Ich werde es dabei belassen. Ich wollte nur darauf hinweisen, dass nicht alle Aufgaben am besten mit PHP erledigt werden. – Seldaek

35

Unter Linux können Sie logrotate (ich weiß nicht, ob andere Lösungen auf Windows oder Mac OS vorhanden) verwenden

In /etc/logrotate.d/ erstellen (. zB sf2_myapp) eine Datei und diese Inhalte hinzufügen:

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

Sie für logrotate auf Google für mehr Infos

+0

sharedscripts ist nicht erforderlich, wenn Sie nur eine Datei drehen und keine Skripte (wie ein Postrotate) verwenden. – mpeters

+4

und wenn Sie manuell Rotation erzwingen wollen, sobald Sie diese Konfigurationsdatei gemacht haben, führen Sie 'logrotate --force/etc/logrotate.d/sf2_myapp' –

+0

@mpeters: Danke, ich entfernte" sharedscripts " – loicfavory