logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

bunyan - filter and pretty-print Bunyan log file content

Description

       "Bunyan" is asimpleandfastaJSONlogginglibrary for node.js services, a one-JSON-object-per-line log
       format, and abunyan CLI tool for nicely viewing those logs. This man page describes the latter.

   Pretty-printing
       A  bunyan  log  file  is  a  stream of JSON objects, optionally interspersed with non-JSON log lines. The
       primary usage of bunyan(1) is to pretty print, for example:

           $ bunyan foo.log          # or `cat foo.log | bunyan
           [2012-02-08T22:56:52.856Z]  INFO: myservice/123 on example.com: My message
               extra: multi
               line
           [2012-02-08T22:56:54.856Z] ERROR: myservice/123 on example.com: My message

       By default the "long" output format is used. Use the -oFORMAT option to emit other formats. E.g.:

           $ bunyan foo.log -o short
           22:56:52.856Z  INFO myservice: My message
               extra: multi
               line
           22:56:54.856Z ERROR myservice: My message

       These will color the output if supported in your terminal. See "OUTPUT FORMATS" below.

   Filtering
       The bunyan CLI can also be used to filter a bunyan log. Use -lLEVEL to filter by level:

           $ bunyan foo.log -l error       # show only ´error´ level records
           [2012-02-08T22:56:54.856Z] ERROR: myservice/123 on example.com: My message

       Use -cCOND to filter on a JavaScript expression returning true on the record data.  In  the  COND  code,
       this refers to the record object:

           $ bunyan foo.log -c `this.three`     # show records with the ´extra´ field
           [2012-02-08T22:56:52.856Z]  INFO: myservice/123 on example.com: My message
               extra: multi
               line

Dtrace Support

       On  systems  that  support  DTrace  (e.g.,  MacOS, FreeBSD, illumos derivatives like SmartOS and OmniOS),
       Bunyan will create a DTrace provider (bunyan) that makes available the following probes:

           log-trace
           log-debug
           log-info
           log-warn
           log-error
           log-fatal

       Each of these probes has a single argument: the string that would be written to the log. Note that when a
       probe is enabled, it will fire whenever the corresponding function is called, even if the  level  of  the
       log message is less than that of any stream.

       See  https://github.com/trentm/node-bunyan#dtrace-support  for more details and the ´-p PID´ option above
       for convenience usage.

Environment

BUNYAN_NO_COLOR
              Set to a non-empty value to force no output coloring. See ´--no-color´.

License

       MIT License (see https://github.com/trentm/node-bunyan/blob/master/LICENSE.txt)

Log Levels

       In  Bunyan  log  records,  then  level field is a number. For the -l|--level argument the level names are
       supported as shortcuts. In -c|--condition  scripts,  uppercase  symbols  like  "DEBUG"  are  defined  for
       convenience.

           Level Name      Level Number    Symbol in COND Scripts
           trace           10              TRACE
           debug           20              DEBUG
           info            30              INFO
           warn            40              WARN
           error           50              ERROR
           fatal           60              FATAL

Name

bunyan - filter and pretty-print Bunyan log file content

Options

-h, --help
              Print this help info and exit.

       --version
              Print version of this command and exit.

       -q, --quiet
              Don´t warn if input isn´t valid JSON.

       Dtrace options (only on dtrace-supporting platforms):

       -pPID, -pNAME
              Process  bunyan:log-*  probes  from the process with the given PID. Can be used multiple times, or
              specify all processes with ´*´, or a set of processes whose command & args match  a  pattern  with
              ´-p NAME´.

       Filtering options:

       -l, --levelLEVEL
              Only show messages at or above the specified level. You can specify level names or numeric values.
              (See ´Log Levels´ below.)

       -cCOND, --conditionCOND
              Run  each  log  message  through the condition and only show those that resolve to a truish value.
              E.g. -c´this.pid==123´.

       --strict
              Suppress all but legal Bunyan JSON log lines. By default non-JSON, and non-Bunyan lines are passed
              through.

       Output options:

       --color
              Colorize output. Defaults to try if output stream is a TTY.

       --no-color
              Force no coloring (e.g. terminal doesn´t support it)

       -oFORMAT, --outputFORMAT
              Specify an output format. One of long (the default),  short,  json,  json-N,  bunyan  (the  native
              bunyan 0-indent JSON output) or inspect.

       -j     Shortcut for -ojson.

       -L, --timelocal
              Display the time field in local time, rather than the default UTC time.

Output Formats

       FORMAT NAME         DESCRIPTION
       long (default)      The default output. Long form. Colored and "pretty".
                           ´req´ and ´res´ and ´err´ fields are rendered specially
                           as an HTTP request, HTTP response and exception
                           stack trace, respectively. For backward compat, the
                           name "paul" also works for this.
       short               Like the default output, but more concise. Some
                           typically redundant fields are ellided.
       json                JSON output, 2-space indentation.
       json-N              JSON output, N-space indentation, e.g. "json-4"
       bunyan              Alias for "json-0", the Bunyan "native" format.
       inspect             Node.js `util.inspect` output.

Project & Bugs

bunyan   is   written   in   JavaScript   and   requires   node.js   (node).   The   project   lives   at
       https://github.com/trentm/node-bunyan and is published to npm as "bunyan".

       •   README, Install notes: https://github.com/trentm/node-bunyan#readme

       •   Report bugs to https://github.com/trentm/node-bunyan/issues.

       •   See the full changelog at: https://github.com/trentm/node-bunyan/blob/master/CHANGES.md

Synopsis

bunyan [OPTIONS]

       ... | bunyan [OPTIONS]

       bunyan [OPTIONS] -p PID

See Also