Obserwuj wiele plików dziennika na jednym wyjściu


60

Czy istnieje prosty sposób, aby zrobić coś takiego, tail -f mylogfileale wyświetlać zmiany więcej niż jednego pliku (być może z nazwą pliku dodaną jako prefiks do każdej linii)? A może narzędzie GUI? Używam Debiana.



Dziękuję za tę wskazówkę. To bardzo pomocne narzędzie. Może także obcinać pliki, wyczyścić ekran jednym skrótem i tak dalej.
stofl

Odpowiedzi:


92

Próbowałeś tail -f file1 file2? Wygląda na to, że robi dokładnie to, co chcesz, przynajmniej na moim komputerze FreeBSD. Być może to, tailco jest dostarczane z systemem Debian, może to zrobić?


2
Tak. To działa! Dziękuję Ci. Nigdy nie spodziewałem się, że będzie to TAK łatwe.
stofl

11
Zwykle używam -Fzamiast tego, ponieważ pewna liczba plików może zostać obcięta podczas ponownego uruchamiania programów serwera.
Arcege,

10
Moim nowym ulubionym zestawem parametrów jest tail -qF *.log: -qukrycie nazw plików i -F, jak zauważył Arcege, pozostawienie tailnazwy zamiast deskryptora, ponieważ moje pliki dziennika są obracane.
Denis Drescher,

Sprawdzony także w systemie Ubuntu 16.04 LTS
Ricardo

Jest na to ograniczenie. Mam folder z plikami dziennika PID dla pracownika, który zaczyna się przy każdym nowym zadaniu w kolejce (tak wiele PID). Jeśli tail -f /var/log/folder/*zwróci błąd „nie można wykonać / usr / bin / tail: lista argumentów za długa”
flickerfly

3

Z jakiegoś powodu odpowiedzi w rodzaju „ tail -f file1 file2nie” miałem na myśli.

Chcę wiedzieć, co wydarzyło się w kilku logach, ostatnio „lokalnie”, niezależnie od globalnego porządku chronologicznego.

Aby to zrobić, użyłem czegoś bardziej podobnego watch -n1 tail -n10 file1 file2


1

Do ćwiczenia napisałem mały program narzędziowy, który robi to samo co tail -f f1 f2 f3

Spleks:

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

Głównym „uaktualnieniem” jest to, że linie są oznaczone kolorami według nazwy pliku i że możesz mieć interfejs podobny do tabeli.

Innym ulepszeniem, a właściwie głównym powodem, dla którego to napisałem, jest możliwość posiadania plików .splexrc.json w różnych folderach, więc zamiast tego wpisywać tail -f f1 f2 f3w jednym folderze, a następnie w innych plikach w innym, możesz zapisać plik .splexrc.json w katalogu głównym twój projekt i po prostu wpisz splexbez argumentów listy plików, a automatycznie przesyła strumieniowo odpowiednie dzienniki wyliczone w pliku konfiguracyjnym.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.