Existe uma maneira fácil de fazer algo como, tail -f mylogfile
mas exibir as alterações de mais de um arquivo (talvez com o nome do arquivo adicionado como prefixo para cada linha)? Ou talvez uma ferramenta GUI? Estou executando o Debian.
60
multitail
é o rei lá. Consulte Combinar entrada de vários arquivos / tubulações sem obstrução de linhas ou bloqueio?Respostas:
Você já tentou
tail -f file1 file2
? Parece fazer exatamente o que você quer, pelo menos na minha máquina FreeBSD. Talvez otail
que vem com um sistema Debian também possa fazê-lo?fonte
-F
pois vários arquivos podem ficar truncados quando estou reiniciando os programas do servidor.tail -qF *.log
:-q
ocultar os nomes dos arquivos e-F
, como Arcege apontou, deixartail
seguir o nome e não o descritor, porque meus arquivos de log estão sendo rotacionados.tail -f /var/log/folder/*
retornar o erro "incapaz de executar / usr / bin / tail: a lista de argumentos é muito longa"Por alguma razão, as respostas ao longo das linhas
tail -f file1 file2
não eram exatamente o que eu tinha em mente.Quero saber o que aconteceu em vários logs, mais recentemente 'localmente', independentemente da ordem cronológica global.
Para fazer isso, usei algo mais como
watch -n1 tail -n10 file1 file2
fonte
Para o exercício, escrevi o utilitário de pequeno nó que faz a mesma coisa que tail -f f1 f2 f3
Splex:
https://www.npmjs.com/package/splex
A principal "atualização" é que as linhas são codificadas por cores por nome de arquivo e que você pode ter uma interface semelhante a uma tabela.
Outro improvemtn, na verdade a principal razão pela qual escrevi isso, é a capacidade de ter arquivos .splexrc.json em pastas diferentes; portanto, ao invés de digitar
tail -f f1 f2 f3
uma pasta, arquivos diferentes em outra, você pode escrever o arquivo .splexrc.json na raiz de seu projeto e digite apenassplex
sem argumentos da lista de arquivos e ele automaticamente transmite os logs relevantes que você enumera no arquivo de configuração.fonte