Wie kann ich jeden Unicorn-Worker meiner Rails-Anwendung in eine andere Protokolldatei schreiben lassen?
Das Warum: Problem der gemischten Protokolldateien... In seiner Standardkonfiguration schreibt Rails seine Logmeldungen in eine einzige Logdatei: log/<environment>.log
.
Da die Unicorn-Arbeiter gleichzeitig in dieselbe Protokolldatei schreiben, können die Meldungen durcheinander geraten. Dies ist ein Problem, wenn request-log-analyzer eine Protokolldatei analysiert. Ein Beispiel:
Processing Controller1#action1 ...
Processing Controller2#action2 ...
Completed in 100ms...
Completed in 567ms...
Welche Aktion wurde in diesem Beispiel in 100 ms und welche in 567 ms abgeschlossen? Wir können nie sicher sein.