Funzionalità

Dal file di log alla risposta in pochi secondi.

Apri un file o una pipe, trova le righe che contano, esportale o passa il file a un collega. Tre passi, tutti nel terminale, senza configurazione.

Apri

Un file, una pipe o niente del tutto. Senza argomenti jaytail apre un selettore di file. Le colonne vengono riconosciute dai dati: ora, livello, messaggio e i campi più comuni, per zerolog, zap, logrus, slog, pino e output simili.

$ jaytail checkout.jsonlun file
$ kubectl logs deploy/api | jaytailuna pipe
$ jaytailil selettore di file
Il selettore di file di jaytail con logrus.jsonl, pino.jsonl, slog.jsonl e zap.jsonl e le loro dimensioni

Esplora e filtra

La ricerca evidenzia le righe che corrispondono; i filtri nascondono le altre. Cerca un testo qualsiasi o il percorso di un campo, campi annidati compresi. Imposta una soglia di livello, restringi per campo, poi mostra solo le corrispondenze.

/url:checkoutcerca in un campo
Msolo le righe trovate284 righe su 5.373
2WARN e superiori · =esattamente questo livellofiltro per livello
fcomponent:paymentsfiltro per campo
Una ricerca di url:checkout con le sole righe corrispondenti: 284 righe, con il testo trovato evidenziato in ogni URL

Condividi, nei due sensi

Chiedi un file o offrilo. La tua parte crea il ticket; l'altra risponde con l'eseguibile gratuito e un comando. Il trasferimento è cifrato end-to-end, verificato con un checksum, e va direttamente tra i due computer o attraverso il relay di jaytail quando serve.

$ jaytail requestchiedi un file
$ jaytail send jaytail1… /var/log/app.jsonlsul suo computer
$ jaytail send --qr checkout.jsonloffri un file
$ jaytail receive jaytail1…sull'altro computer
Il visualizzatore di chi ha chiesto il file apre checkout.jsonl mentre arriva: 46,1 KiB ricevuti, indicizzazione in corso, righe già visibili

Nel visualizzatore

Tutto quello che un pager di log deve fare, e niente di quello che non deve.

Formati riconosciuti, nessuna configurazione

Ora, livello e messaggio vengono trovati per nome (time, ts, @timestamp, level, severity, msg…). I livelli sono normalizzati da TRACE a PANIC, compresi i livelli numerici di pino e bunyan. Le date RFC 3339 e gli epoch Unix in secondi, millisecondi, microsecondi o nanosecondi sono mostrati nell'ora locale.

Una riga pino grezza stampata con head -1
Lo stesso file pino in jaytail, come tabella

Pipe e standard input

L'input da pipe viene salvato in un file temporaneo privato, così puoi scorrere indietro tutto quello che è arrivato mentre ne arriva altro. kubectl logs, journalctl -o json, qualsiasi cosa stampi righe JSON.

jaytail legge dallo standard input, filtrato su ERROR e superiori

Sintassi di ricerca

  • timeout testo in un punto qualsiasi della riga, chiavi comprese
  • service:payments il valore decodificato di un campo
  • request.id:abc un campo annidato
  • request\.id:abc una chiave che contiene un punto
  • n / N corrispondenza successiva e precedente

Filtri

Soglia di livello o livello esatto, più un numero qualsiasi di filtri per campo (sottostringa del valore decodificato, senza distinzione tra maiuscole e minuscole). I filtri si combinano in AND, mantengono l'ordine del file e i numeri di riga fisici, e la barra di stato conta le righe trovate. Da riga di comando: --level warn, --level =error.

Vista del record

Apri una riga qualsiasi e leggi l'intero oggetto JSON, formattato, campi annidati compresi. Le righe malformate restano visibili, marcate INVALID JSON; le righe oltre 8 MiB sono mostrate come OVERSIZED con un'anteprima.

L'oggetto JSON completo di un record

Selezione e copia

Marca le righe una a una, seleziona un intervallo o l'intera vista filtrata. Le selezioni sono identità dei record, non copie: sopravvivono allo scorrimento e ai cambi di filtro. y copia le righe originali, byte per byte, negli appunti di sistema (o tramite OSC 52 via SSH).

Esportazione

JSONL (byte originali), array JSON, CSV o una pagina HTML autonoma, per la selezione o per l'intera vista, con le colonne visibili o tutte. Le esportazioni vengono scritte in un file temporaneo e rinominate al loro posto solo quando sono complete. I valori CSV che un foglio di calcolo eseguirebbe come formula ricevono un apice iniziale.

La finestra di esportazione

Output semplice per gli script

Quando lo stdout non è un terminale, jaytail copia i record come JSONL grezzo. --plain=table stampa una tabella di testo allineata; --columns time,level,message sceglie le colonne. Passa l'output a jq, grep, less o ai tuoi strumenti.

Modalità browser

--web serve al browser la stessa tabella, con filtri, ricerca, selezione ed esportazione, solo su 127.0.0.1 e dietro un token di sessione casuale. Non ascolta mai su altre interfacce e non permette di sfogliare il filesystem.

Veloce sui file enormi

Un file di 10 GiB con 54M righe si apre subito; l'indice viene costruito in background mentre lavori. Prima schermata in meno di 300 ms con la cache delle pagine vuota, circa 10 MiB di memoria qualunque sia la dimensione del file, e un eseguibile di 4 MiB per la build Minimal.

Sola lettura, per progetto

jaytail non modifica mai il suo input. I file vengono aperti come un'istantanea e il visualizzatore ti avvisa se il file è cresciuto o cambiato. Il contenuto dei log non è affidabile: sequenze di escape e caratteri di controllo sono mostrati come escape visibili, mai inviati al terminale.

Tasti

Tutto da tastiera, si impara in un minuto.

TastoAzioneTastoAzione
/Ctrl+F Cerca un testo, o campo:testo Space Marca o smarca la riga
n/NF3/Shift+F3 Corrispondenza successiva/precedente v Inizia/termina una selezione di intervallo
M Mostra solo le righe trovate (attiva/disattiva) Ctrl+A Seleziona tutte le righe della vista corrente
f Filtro per campo campo:testo (vuoto lo rimuove) u Annulla la selezione
123 Filtro per livello: tutti, WARN+, ERROR+ y Copia le righe selezionate (o quella attiva)
L Scegli il filtro per livello e Finestra di esportazione
= Filtro per livello: almeno / esattamente c Scelta delle colonne
Ctrl+G:N Vai alla riga fisica N o Apri un altro file
Enter Apri il dettaglio del record ?F1 Aiuto

Premi ? in jaytail per vedere tutti i tasti, o leggi il manuale: jaytail man. Completamento della shell per bash, zsh, fish, PowerShell ed elvish: jaytail completions SHELL.

Acquisto una tantum. Usalo su tutti i tuoi computer.

Minimal per l'analisi locale, Complete per i trasferimenti peer-to-peer. Prezzi di lancio fino al 31 dicembre 2026.

  • Nessun abbonamento
  • Licenza via e-mail entro un giorno lavorativo
  • Nessun login
  • Gratuito per l'altra parte