Beobachten Sie mehrere Protokolldateien in einer Ausgabe

60

Gibt es eine einfache Möglichkeit, etwas tail -f mylogfileanderes zu tun, als die Änderungen von mehr als einer Datei anzuzeigen (möglicherweise mit dem Dateinamen als Präfix in jeder Zeile)? Oder vielleicht ein GUI-Tool? Ich verwende Debian.

stofl
quelle
2
multitailist der König da. Siehe Eingaben aus mehreren Dateien / Pipes kombinieren, ohne Zeilen zu blockieren oder zu blockieren.
Gilles 'SO- hör auf böse zu sein'
Danke für diesen Tipp. Dies ist ein sehr hilfreiches Tool. Es kann auch Dateien kürzen, den Bildschirm mit einer Verknüpfung löschen und so weiter.
Stofl

Antworten:

92

Hast du es versucht tail -f file1 file2? Es scheint genau das zu tun, was Sie wollen, zumindest auf meinem FreeBSD-Rechner. Vielleicht kann das tail, was mit einem Debian-System kommt, das auch?

D_Bye
quelle
2
Ja. Es klappt! Danke. Ich hätte nie gedacht, dass es so einfach wird.
Stofl
11
Ich verwende normalerweise -Fstattdessen, da einige Dateien möglicherweise abgeschnitten werden, wenn ich Serverprogramme neu starte.
Arcege,
10
Meine neue Lieblingsparameterkombination ist tail -qF *.log: -qdie Dateinamen auszublenden und -F, wie Arcege betont hat, taildem Namen und nicht dem Deskriptor zu folgen, weil meine Protokolldateien gedreht werden.
Denis Drescher
Validiert auch auf Ubuntu 16.04 LTS
Ricardo
Dem sind Grenzen gesetzt. Ich habe einen Ordner mit Protokolldateien von PID für einen Arbeiter, der für jeden neuen Job in einer Warteschlange gestartet wird (also viele PIDs). Wenn ich tail -f /var/log/folder/*den Fehler "/ usr / bin / tail kann nicht ausgeführt werden: Argumentliste zu lang" zurückgebe
flickerfly
3

Aus irgendeinem Grund entsprachen die Antworten tail -f file1 file2nicht ganz meinen Vorstellungen.

Ich möchte wissen, was in mehreren Protokollen passiert ist, die in letzter Zeit "lokal" waren, unabhängig von der globalen chronologischen Reihenfolge.

Um das zu tun, habe ich etwas Ähnliches verwendet watch -n1 tail -n10 file1 file2

sg_man
quelle
1

Für die Übung habe ich ein kleines Node-Utility geschrieben, das dasselbe macht wie tail -f f1 f2 f3

Splex:

https://www.npmjs.com/package/splex

Das wichtigste "Upgrade" ist, dass die Zeilen pro Dateiname farbcodiert sind und dass Sie eine tabellenartige Oberfläche haben können.

Eine weitere Verbesserung, eigentlich der Hauptgrund, warum ich das geschrieben habe, ist die Möglichkeit, .splexrc.json- Dateien in verschiedenen Ordnern zu haben. Sie müssen also stattdessen tail -f f1 f2 f3einen Ordner und dann verschiedene Dateien in einen anderen Ordner eingeben, um .splexrc.json-Dateien im Stammverzeichnis von zu schreiben Geben Sie Ihr Projekt einfach splexohne Dateilistenargumente ein und es werden automatisch relevante Protokolle gestreamt, die Sie in der Konfigurationsdatei aufgelistet haben.

Kodisha
quelle