Есть ли простой способ сделать что-то вроде, tail -f mylogfile
кроме как отображать изменения более чем одного файла (возможно, с именем файла, добавленным в качестве префикса к каждой строке)? Или, может быть, инструмент с графическим интерфейсом? Я использую Debian.
60
multitail
там король См. Объединить входные данные из нескольких файлов / каналов без загромождения строк или блокировки?Ответы:
Ты пробовал
tail -f file1 file2
? Похоже, он делает именно то, что вы хотите, по крайней мере, на моей машине с FreeBSD. Возможно, то,tail
что поставляется с системой Debian, может сделать это тоже?источник
-F
вместо этого, так как ряд файлов может быть обрезан при перезапуске серверных программ.tail -qF *.log
:-q
скрыть имена файлов и-F
, как указал Арджедж, разрешитьtail
следовать за именем, а не за дескриптором, потому что мои файлы журналов вращаются.tail -f /var/log/folder/*
вернул ошибку «невозможно выполнить / usr / bin / tail: список аргументов слишком длинный»По некоторым причинам, ответы в духе
tail -f file1 file2
не совсем того, что я имел в виду.Я хочу знать, что происходило в нескольких журналах, вроде последнего, «локально», независимо от глобального хронологического порядка.
Для этого я использовал что-то более похожее
watch -n1 tail -n10 file1 file2
источник
Для этого упражнения я написал утилиту для небольших узлов, которая делает то же самое, что и tail -f f1 f2 f3
Splex:
https://www.npmjs.com/package/splex
Основное «обновление» заключается в том, что строки имеют цветовую кодировку для каждого имени файла, и что у вас может быть табличный интерфейс.
Другим улучшением, фактически основной причиной, по которой я это написал, является возможность иметь файлы .splexrc.json в разных папках, поэтому вместо того, чтобы печатать
tail -f f1 f2 f3
в одной папке, а затем в других файлах, вы можете записать файл .splexrc.json в корень ваш проект и просто введитеsplex
без аргументов списка файлов, и он автоматически передает соответствующие журналы, перечисленные в файле конфигурации.источник