Czy istnieje prosty sposób, aby zrobić coś takiego, tail -f mylogfile
ale 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.
Czy istnieje prosty sposób, aby zrobić coś takiego, tail -f mylogfile
ale 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.
Odpowiedzi:
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, tail
co jest dostarczane z systemem Debian, może to zrobić?
-F
zamiast tego, ponieważ pewna liczba plików może zostać obcięta podczas ponownego uruchamiania programów serwera.
tail -qF *.log
: -q
ukrycie nazw plików i -F
, jak zauważył Arcege, pozostawienie tail
nazwy zamiast deskryptora, ponieważ moje pliki dziennika są obracane.
tail -f /var/log/folder/*
zwróci błąd „nie można wykonać / usr / bin / tail: lista argumentów za długa”
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 f3
w 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 splex
bez argumentów listy plików, a automatycznie przesyła strumieniowo odpowiednie dzienniki wyliczone w pliku konfiguracyjnym.
multitail
jest tam król. Zobacz Łączenie danych wejściowych z wielu plików / potoków bez blokowania linii lub blokowania?