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
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 campoMsolo le righe trovate284 righe su 5.3732WARN e superiori · =esattamente questo livellofiltro per livellofcomponent:paymentsfiltro per campo
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
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.


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.

Sintassi di ricerca
timeouttesto in un punto qualsiasi della riga, chiavi compreseservice:paymentsil valore decodificato di un camporequest.id:abcun campo annidatorequest\.id:abcuna chiave che contiene un punton/Ncorrispondenza 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.

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.

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.
| Tasto | Azione | Tasto | Azione |
|---|---|---|---|
| /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