Open a log
jaytail app.jsonl # a file
kubectl logs deploy/api | jaytail # a pipe
jaytail # no argument: the file picker
jaytail recognizes time, level and message columns by itself. The keys you need first:
| Key | Action |
|---|---|
/ | search text, or field:text |
n / N | next / previous match |
M | show only matching rows |
2 / 3 / 1 | WARN and above / ERROR and above / all levels |
f | filter by field, for example component:payments |
Enter | the whole record |
Space, v, Ctrl+A | mark a row, select a range, select the view |
y / e | copy the selected lines / export them |
? / q | every key / quit |
Use it in scripts
When stdout is not a terminal, jaytail writes records as raw JSONL. --plain=table prints an
aligned table:
jaytail --level =error app.jsonl > errors.jsonl
jaytail --plain=table --columns time,level,message app.jsonl | less
Open it in a browser
jaytail --web app.jsonl
The page is served on 127.0.0.1 only, behind a random token, with the same filters, search, selection and export.
Ask someone for their log
jaytail request
jaytail prints a ticket and a link. Send the link to the other person (a chat message is fine):
the page shows them how to get jaytail and the one command to run, for example
jaytail send <ticket> /var/log/app.jsonl. The file arrives encrypted end to end, its checksum is
verified, and it opens in the viewer as it arrives. They need no license.
Send a log to someone
jaytail send --qr checkout.jsonl
The other person opens the link, or runs jaytail receive <ticket>. Creating a ticket, with
send FILE or request, needs a Complete license; answering one never does.
Install your license
jaytail license install --key 'JTL1…'
jaytail license
See Licenses and activation, and the manual for everything else.