jshell - an interactive shell for monitoring JSON log files


version 0.01




Opens a shell to interact with JSON-formatted log files.


help | h

Displays commands and their descriptions.

quit | q

Exits the program.

fields | f

Selects the fields to display from each line's JSON log object. If no fields are selected, all fields will be shown.

  > fields timestamp priority message

grep | g

Adds a pattern which must be matched before a log entry is displayed.

  > grep field somepattern

Despite the name, patterns are perl regexes and matched against the string value of the field. Embedded modifiers are supported, so a case insensitive search is accomplished thusly:

  > grep field (?i)somepattern

grepv | v

Adds a pattern which excludes entries whose field value matches.

  > grepv field logswedonotwanttosee

info | i

Displays the current configuration of displayed fields and patterns.

reset | r

Interactively resets fields and patterns.

cat | c

Displays each entry in a file, showing only those fields selected. If no fields are selected, all fields are shown.

  > cat /path/to/json.log

tail | t

Tails a log file, displaying new entries as they are appended to the file. Use control-c to stop output.

  > tail /path/to/json.log


Jeff Ober <>


This software is copyright (c) 2018 by Jeff Ober.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.