Наблюдать за несколькими файлами журнала в одном выводе


60

Есть ли простой способ сделать что-то вроде, tail -f mylogfileкроме как отображать изменения более чем одного файла (возможно, с именем файла, добавленным в качестве префикса к каждой строке)? Или, может быть, инструмент с графическим интерфейсом? Я использую Debian.



Спасибо за этот совет. Это действительно полезный инструмент. Он также может обрезать файлы, очистить экран одним ярлыком и так далее.
stofl

Ответы:


92

Ты пробовал tail -f file1 file2? Похоже, он делает именно то, что вы хотите, по крайней мере, на моей машине с FreeBSD. Возможно, то, tailчто поставляется с системой Debian, может сделать это тоже?


2
Да. Оно работает! Спасибо. Я никогда не ожидал, что это будет так легко.
stofl

11
Я обычно использую -Fвместо этого, так как ряд файлов может быть обрезан при перезапуске серверных программ.
Arcege

10
Моя новая любимая комбинация параметров tail -qF *.log: -qскрыть имена файлов и -F, как указал Арджедж, разрешить tailследовать за именем, а не за дескриптором, потому что мои файлы журналов вращаются.
Денис Дрешер

Утверждено также на Ubuntu 16.04 LTS
Ricardo

Есть предел этому. У меня есть папка с файлами журналов по PID для работника, которая запускается для каждого нового задания в очереди (так много PID). Если я tail -f /var/log/folder/*вернул ошибку «невозможно выполнить / usr / bin / tail: список аргументов слишком длинный»
flickerfly

3

По некоторым причинам, ответы в духе tail -f file1 file2не совсем того, что я имел в виду.

Я хочу знать, что происходило в нескольких журналах, вроде последнего, «локально», независимо от глобального хронологического порядка.

Для этого я использовал что-то более похожее watch -n1 tail -n10 file1 file2


1

Для этого упражнения я написал утилиту для небольших узлов, которая делает то же самое, что и tail -f f1 f2 f3

Splex:

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

Основное «обновление» заключается в том, что строки имеют цветовую кодировку для каждого имени файла, и что у вас может быть табличный интерфейс.

Другим улучшением, фактически основной причиной, по которой я это написал, является возможность иметь файлы .splexrc.json в разных папках, поэтому вместо того, чтобы печатать tail -f f1 f2 f3в одной папке, а затем в других файлах, вы можете записать файл .splexrc.json в корень ваш проект и просто введите splexбез аргументов списка файлов, и он автоматически передает соответствующие журналы, перечисленные в файле конфигурации.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.