Um marcador de arquivo de log
Visualizar (ou tail
) qualquer arquivo de log de qualquer formato
Nenhuma configuração ou configuração necessária
Destaca números, datas, adjuntos de IP, uuids, URLs e muito mais
Todos os grupos de destaque são personalizáveis
Fácil de integrar com outros comandos
Usa less
sob o capô
Alimentado pela caixa manifold
Visão geral
Uso
Instalação
Grupos de destaque
Assistindo pastas
Personalizando grupos de destaque
Trabalhando com stdin
e stdout
Usando o pager less
Configurações
tailspin
funciona lendo um arquivo de log linha por linha, executando uma série de regexes em cada linha. Os Regexes reconhecem padrões que você espera encontrar em um arquivo de log, como datas, números, palavras -chave de gravidade e muito mais.
tailspin
não faz nenhuma suposição no formato ou posição dos itens que deseja destacar. Por esse motivo, não requer configuração e o destaque funcionará de forma consistente em diferentes arquivos de log.
O nome binário para tailspin
é tspin
.
# Leia no arquivo e na visualização em `menos`tspin Application.log# Leia de arquivo e impressão para stdouttspin Application.log --print# Leia de stdin e imprima para stdoutkubectl logs [nome de pod] - -folold | tspin# capture o stdout de outro comando e visualização em `menos`tspin - -listen -command 'kubectl logs -f pod_name'
# Homebrewbrew install tailspin# cargocargo install tailspin# archlinuxpacman -s tailpin# nixnix -shell -p tailpin# netbsdpkgin installspin# freebsdpkg installspin
Instalação de carga -caminho.
O binário será colocado em ~/.cargo/bin
, certifique -se de adicionar a pasta à sua variável de ambiente PATH
.
Importante
Ao construir a partir da fonte, verifique se você está usando a versão mais recente de less
.
tailspin
pode ouvir entradas de novas linhas em uma determinada pasta. Assistir pastas é útil para monitorar os arquivos de log que são girados.
Ao assistir pastas, tailspin
começará no modo de seguir (abortar com Ctrl + C ) e apenas imprimirá as novas entradas da linha que chegam após o início inicial.
Crie um theme.toml
em ~/.config/tailspin
para personalizar grupos de destaque.
Os estilos têm a seguinte forma:
style = {fg = "color", bg = "cor", itálico = falso, negrito = false, sublinhado = false}
Para editar os diferentes grupos de destaque, inclua -os no seu arquivo theme.toml
. Por exemplo, para editar o grupo de destaque date
, adicione o seguinte ao seu theme.toml
:
[data] style = {fg = "verde"}
Expanda a seção abaixo para ver a configuração padrão para os grupos de destaque:
[DATE] DATA = {FG = "Magenta"} Time = {FG = "Blue"} zone = {FG = "Red"} separador = {Faint = true} [[[palavras -chave]] palavras = ['null', 'true', 'false'] style = {fg = "vermelho", itálico = true} [[[palavras -chave]] palavras = ['get'] style = {fg = "preto", bg = "verde"} [url] http = {fg = "vermelho", fraco = true} https = {fg = "verde", fraco = true} host = {fg = "azul", fraco = true} caminho = {fg = "azul" } query_params_key = {fg = "magenta"} query_params_value = {fg = "ciano"} símbolos = {FG = "Red"} [número] style = {fg = "ciano"} [ip] número = {fg = "azul", itálico = true} letra = {fg = "magenta", itálico = true} separador = {fg = "Red"} [cita] estilo = {fg = "amarelo"} token = '"' [path] segmento = {fg =" verde ", itálico = true} separador = {fg =" amarelo "} [uuid] número = {fg = "azul", itálico = true} letra = {fg = "magenta", itálico = true} separador = {fg = "Red"} [ponteiro] número = {fg = "azul", itálico = true} letra = {fg = "magenta", itálico = true} separador = {fg = "Red"} [key_value] key = {Faint = true} separador = {fg = "white"} [processo] nome = {fg = "verde"} separador = {fg = "vermelho"} id = {fg = "amarelo"} [json] key = {fg = "amarelo"} quote_token = {fg = "amarelo", desmaio = true} curly_bracket = {Faint = true} square_bracket = {Faint = true} vírgula = True}
Para desativar ou habilitar individualmente os grupos de destaque, use as bandeiras --enable
e --disable
:
# Habilite apenas o grupo de destaque da URL, desativando o Application.log de ResttSpin --enable = URL# Desative o grupo de destaque dos números, mantendo o ResttSpin Application.log ---Disable = números
Para adicionar palavras -chave personalizadas, inclua -as na lista de palavras -chave ou adicionar novas entradas:
[[Palavras -chave]] palavras = ['mycustomkeyword'] style = {fg = "verde"} [[[palavras -chave]] palavras = ['null', 'true', 'false'] style = {fg = "vermelho", itálico = true}
Às vezes, é mais conveniente adicionar grupos de destaque em tempo real sem ter que editar um toml. Para adicionar destaques da linha de comando, use a --words-[red|green|yellow|blue|magenta|cyan]
Bandeira seguida por uma lista separada por vírgula de palavras a serem destacadas.
Quando você precisa de mais controle sobre o destaque, pode usar o marcador regex. Este marcador permite especificar um regex e um estilo a ser aplicado ao texto correspondente.
Ele suporta um grupo de captura ()
. Quando encontrado, ele aplicará o estilo ao texto capturado.
[[regexps]] regex = 'iniciado (.*).' style = {fg = "Red"}
stdin
e stdout
Por padrão, tailspin
abrirá um arquivo no pager less
. No entanto, se você colocar algo no tailspin
, ele imprimirá a saída destacada diretamente para stdout
. Isso é semelhante à execução tspin [file] --print
.
Para deixar tailspin
destacar os registros de diferentes comandos, você pode transmitir a saída desses comandos no tailspin
assim:
JournalCtl -f | tspincat/var/log/syslog | tspinkubectl logs -f Pod_name | Tspin
less
Para capturar a saída de um comando e visualizá-lo less
, use o sinalizador --listen-command
:
Tspin -Listen -Command 'Kubectl Logs -f Pod_Name'
Isso executará o comando kubectl logs -f pod_name
no plano de fundo e tubará a saída para tailspin
. A saída será exibida em less
, permitindo que você navegue e pesquise nos logs.
less
tailspin
usa less
como seu pager para visualizar os arquivos de log destacados. Você pode obter mais informações sobre less
através do comando man ( man less
) ou pressionando o botão H para acessar a tela de ajuda.
Navegar em less
usa um conjunto de pedidos de chave que podem ser familiares para os usuários do vim
ou outros editores do tipo vi
. Aqui está uma breve visão geral dos comandos de navegação mais úteis:
j / k : role uma linha para cima / para baixo
d / u : role uma meia página para cima / para baixo
g / g : vá para a parte superior / inferior do arquivo
Quando você executa tailspin
com o sinalizador -f
ou --follow
, ele rola para a parte inferior e imprime novas linhas para a tela enquanto elas são adicionadas ao arquivo.
Para parar de seguir o arquivo, interrompa com Ctrl + c . Isso interromperá a cauda, mas mantenha o arquivo aberto, permitindo revisar o conteúdo existente.
Para retomar seguindo o arquivo de dentro de less
, pressione Shift + F.
Use / seguido pela sua consulta de pesquisa. Por exemplo, /ERROR
encontra a primeira ocorrência de erro .
Após a pesquisa, N encontra a próxima instância e N encontra a instância anterior.
less
permite linhas de filtragem por uma palavra -chave, usando e seguidas pelo padrão. Por exemplo, &ERROR
mostra apenas linhas com erro .
Para mostrar apenas linhas contendo ERROR
ou WARN
, use uma expressão regular: &(ERROR|WARN)
.
Para limpar o filtro, usar e sem padrão.
-f,--siga Siga o conteúdo do arquivo de arquivo-e,--start-at-final Cmd] 'Ouça a saída (stdout) do comando fornecido-Config-path [path] use o arquivo de configuração do caminho fornecido-palavras- [color] [palavras] destacam as palavras fornecidas com a cor fornecida -NO-Builtin-Keywords Desativar o destaque de booleanos, nulos, severidades de log e verbos de descanso comuns --enable = [destacar_group] Ativar um ou mais grupos de destaque, desativando o resto ---Disable = [destacar_group] Desativar um ou mais destaque grupos, permitindo o resto