
Eu tenho um diretório com arquivos de log, com novos arquivos adicionados de tempos em tempos. Quero 'ajustá-los' em uma visualização combinada (ver todas as linhas de todos os arquivos mesclados)
Vi o lnav recomendado algumas vezes para isso e, com base na descrição do recurso, ele deve suportar essas opções - mas a documentação não é clara o suficiente.
especificamente - ao executar o lnav para rastrear um diretório, posso alternar arquivos de log usando as teclas f\F, mas não obter uma visualização combinada
Responder1
Na verdade, não vejo nenhuma boa solução para sua necessidade usando lnav
. O melhor que consigo pensar é usar tail -f
em todos os arquivos de log:
tail -f file_1.log ... file_n.log
Outra solução logtail
que tem algumas desvantagens, mas lida com o caso em que novos arquivos de log são adicionados de tempos em tempos:
#!/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
Responder2
Você pode obter uma visão combinada das mensagens de log no lnav se os arquivos tiverem carimbos de data e hora e compreender os formatos dos arquivos. Se o lnav não entender o formato do arquivo de log, ele tratará os arquivos como texto simples. Você pode criar uma nova definição de formato conforme descrito em seudocumentação.