jshell - an interactive shell for monitoring JSON log files
version 0.03
jshell [--path /path/to/log/file]
Opens a shell to interact with JSON-formatted log files.
Optionally sets the default path to work with.
Displays commands and their descriptions.
Exits the program.
Sets or displays the default path.
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
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
Adds a pattern which excludes entries whose field value matches.
> grepv field logswedonotwanttosee
Displays the current configuration of displayed fields and patterns.
Interactively resets fields and patterns.
Displays each entry in a file, showing only those fields selected. If no fields are selected, all fields are shown. If no path is specified, the default path will be used if set.
> cat /path/to/json.log
Tails a log file, displaying new entries as they are appended to the file. Use control-c to stop output. If no path is specified, the default path will be used if set.
> tail /path/to/json.log
Jeff Ober <sysread@fastmail.fm>
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.
To install App::JsonLogUtils, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::JsonLogUtils
CPAN shell
perl -MCPAN -e shell install App::JsonLogUtils
For more information on module installation, please visit the detailed CPAN module installation guide.