Observe vários arquivos de log em uma saída


60

Existe uma maneira fácil de fazer algo como, tail -f mylogfilemas 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.



Obrigado por essa dica. Esta é uma ferramenta realmente útil. Também pode truncar arquivos, limpar a tela com um atalho e assim por diante.
Stdl

Respostas:


92

Você já tentou tail -f file1 file2? Parece fazer exatamente o que você quer, pelo menos na minha máquina FreeBSD. Talvez o tailque vem com um sistema Debian também possa fazê-lo?


2
Sim. Funciona! Obrigado. Eu nunca esperava que fosse tão fácil.
Stdl

11
Em geral, uso normalmente, -Fpois vários arquivos podem ficar truncados quando estou reiniciando os programas do servidor.
Arcege

10
Minha nova combinação de parâmetros favoritos é tail -qF *.log: -qocultar os nomes dos arquivos e -F, como Arcege apontou, deixar tailseguir o nome e não o descritor, porque meus arquivos de log estão sendo rotacionados.
Denis Drescher 04/10

Validado também no Ubuntu 16.04 LTS
Ricardo

Há um limite para isso. Eu tenho uma pasta com arquivos de log do PID para um trabalhador que é iniciado para cada novo trabalho em uma fila (muitos PIDs). Se eu tail -f /var/log/folder/*retornar o erro "incapaz de executar / usr / bin / tail: a lista de argumentos é muito longa"
flickerfly 18-18

3

Por alguma razão, as respostas ao longo das linhas tail -f file1 file2nã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


1

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 f3uma pasta, arquivos diferentes em outra, você pode escrever o arquivo .splexrc.json na raiz de seu projeto e digite apenas splexsem argumentos da lista de arquivos e ele automaticamente transmite os logs relevantes que você enumera no arquivo de configuração.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.