Как следить за несколькими файлами журнала, сгенерированными динамически в комбинированном представлении

339
Ophir Yoktan

У меня есть каталог с файлами журналов, время от времени добавляются новые файлы. Я хочу использовать их в комбинированном виде (все строки всех файлов объединены)

Я видел, что lnav рекомендовал несколько раз для этого, и, основываясь на описании функции, он должен поддерживать эти опции - но документация недостаточно ясна.

в частности - при запуске lnav для отслеживания каталога я могу переключать файлы журнала с помощью клавиш f \ F, но не могу получить комбинированное представление

1

1 ответ на вопрос

0
Gohu

На самом деле, я не вижу хорошего решения для ваших нужд lnav. Лучшее, что я могу придумать, - использовать tail -fвсе файлы журнала:

tail -f file_1.log ... file_n.log 

Другое решение, использующее logtailэто, имеет некоторые недостатки, но обрабатывает случай, когда время от времени добавляются новые файлы журнала:

#!/bin/bash  # Quietly initialize logtail offset files for logfile in *log do logtail $logfile done > /dev/null   while : do # wait a second for new logs sleep 1 for logfile in *log do  # output new logs since last logtail run, prepend with log filename logtail $logfile | sed "s/^/$logfile: /" done done