Wie Sie alle wahrscheinlich wissen, müssen wir als Entwickler manchmal mit Protokollen arbeiten.
Sie haben ein PHP-Fehlerprotokoll, Laravel-Debug, MySQL, Apache, Cron-Ausgaben usw.
Hier ist meine Frage: Ist es möglich, alle Protokolldateien in einer zusammenzuführen? Kann man es auch so einstellen, dass das Protokoll jeden Tag entfernt und erneut zusammengeführt wird? So sind nur aktuelle Daten in der Datei?
Es würde also so aussehen:
//PHP-Fehler
Was auch immer...
//Apache
Was auch immer...
//cron
Was auch immer...
Antwort1
Genau dafür war diersyslog
Daemongeschrieben. Es ist mit Ubuntu vorinstalliert, muss aber angepasst werden, um das zu tun, was Sie wollen. Es kann Protokolldateien lesen und zusammenführen, Protokollnachrichten von anderen Systemen über das Netzwerk sammeln und sie an jeden beliebigen Ort weiterleiten. Es ist sehr, sehr leistungsfähig. Der Einstieg ist jedoch erschreckend einfach, wie Jacob sagt.
Folgen Sie den Konfigurationsbeispielen von der Website und haben Sie Spaß.
Antwort2
ist es möglich, alle Protokolldateien zu einer zusammenzuführen?
Wenn Sie die Protokolle zusammenführen möchtennach Datums-/Uhrzeitstempel, dann versuche esSuperschneller Syslog-Sucher
(vorausgesetzt Sie habenRost installiert)
cargo install super_speedy_syslog_searcher
Dann
s4 /var/log/php/ /var/log/apache2/ /var/log/cron > /var/log/merged.log
Können Sie es auch so einstellen, dass das Protokoll jeden Tag entfernt und erneut zusammengeführt wird?
Dieses einfache Shell-Skript erledigt das
#!/usr/bin/env sh
s4 /var/log/php/ /var/log/apache2/ /var/log/cron > /var/log/merged.log
Kopieren Sie das Skript nach /etc/cron.daily/merge-logs.sh
. Vergessen Sie nicht, das Skript auf ausführbar zu setzen; chmod +x /etc/cron.daily/merge-logs.sh
.