Alle Logdateien zu einer zusammenführen

Alle Logdateien zu einer zusammenführen

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 diersyslogDaemongeschrieben. 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.

verwandte Informationen