add a man page
This commit is contained in:
parent
3ef466086c
commit
432eec6f29
7 changed files with 614 additions and 1 deletions
|
@ -2,7 +2,7 @@
|
|||
|
||||
## bunyan 0.14.7 (not yet released)
|
||||
|
||||
(nothing yet)
|
||||
- Add a man page. See <http://trentm.com/node-bunyan/bunyan.1.html>.
|
||||
|
||||
|
||||
## bunyan 0.14.6
|
||||
|
|
23
LICENSE.txt
Normal file
23
LICENSE.txt
Normal file
|
@ -0,0 +1,23 @@
|
|||
# This is the MIT license
|
||||
|
||||
Copyright (c) 2011-2012 Joyent Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
19
Makefile
19
Makefile
|
@ -27,6 +27,25 @@ cutarelease: versioncheck
|
|||
[[ `git status | tail -n1` == "nothing to commit (working directory clean)" ]]
|
||||
./tools/cutarelease.py -p bunyan -f package.json -f lib/bunyan.js -f bin/bunyan
|
||||
|
||||
.PHONY: docs
|
||||
docs:
|
||||
@[[ `which ronn` ]] || (echo "No 'ronn' on your PATH. Install with 'gem install ronn'" && exit 2)
|
||||
mkdir -p man/man1
|
||||
ronn --style=toc --manual="bunyan manual" --date=$(shell git log -1 --pretty=format:%cd --date=short) --roff --html docs/bunyan.1.ronn
|
||||
python -c 'import sys; h = open("docs/bunyan.1.html").read(); h = h.replace(".mp dt.flush {float:left;width:8ex}", ""); open("docs/bunyan.1.html", "w").write(h)'
|
||||
python -c 'import sys; h = open("docs/bunyan.1.html").read(); h = h.replace("</body>", """<a href="https://github.com/trentm/node-bunyan"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a></body>"""); open("docs/bunyan.1.html", "w").write(h)'
|
||||
@echo "# test with 'man ./docs/bunyan.1' and 'open ./docs/bunyan.1.html'"
|
||||
|
||||
.PHONY: publish
|
||||
publish:
|
||||
mkdir -p tmp
|
||||
[[ -d tmp/bunyan-gh-pages ]] || git clone git@github.com:trentm/node-bunyan.git tmp/bunyan-gh-pages
|
||||
cd tmp/bunyan-gh-pages && git checkout gh-pages && git pull --rebase origin gh-pages
|
||||
cp docs/index.html tmp/bunyan-gh-pages/index.html
|
||||
cp docs/bunyan.1.html tmp/bunyan-gh-pages/bunyan.1.html
|
||||
(cd tmp/bunyan-gh-pages \
|
||||
&& git commit -a -m "publish latest docs" \
|
||||
&& git push origin gh-pages || true)
|
||||
|
||||
#---- test
|
||||
|
||||
|
|
187
docs/bunyan.1
Normal file
187
docs/bunyan.1
Normal file
|
@ -0,0 +1,187 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNYAN" "1" "October 2012" "" "bunyan manual"
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbunyan\fR \- filter and pretty\-print Bunyan log file content
|
||||
.
|
||||
.SH "SYNOPSIS"
|
||||
\fBbunyan\fR [OPTIONS] [LOOKUPS\.\.\.]
|
||||
.
|
||||
.SH "DESCRIPTION"
|
||||
"Bunyan" is \fBa simple and fast a JSON logging library\fR for node\.js services, a one\-JSON\-object\-per\-line log format, and \fBa \fBbunyan\fR CLI tool\fR for nicely viewing those logs\. This man page describes the latter\.
|
||||
.
|
||||
.SS "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:
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ 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
|
||||
\.\.\.
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.P
|
||||
By default the "long" output format is used\. Use the \fB\-o FORMAT\fR option to emit other formats\. E\.g\.:
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ bunyan foo\.log \-o short
|
||||
22:56:52\.856Z INFO myservice: My message
|
||||
extra: multi
|
||||
line
|
||||
22:56:54\.856Z ERROR myservice: My message
|
||||
\.\.\.
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.P
|
||||
These will color the output if supported in your terminal\. See "OUTPUT FORMATS" below\.
|
||||
.
|
||||
.SS "Filtering"
|
||||
The \fBbunyan\fR CLI can also be used to filter a bunyan log\. Use \fB\-l LEVEL\fR to filter by level:
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ bunyan foo\.log \-l error # show only \'error\' level records
|
||||
[2012\-02\-08T22:56:54\.856Z] ERROR: myservice/123 on example\.com: My message
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.P
|
||||
Use \fB\-c COND\fR to filter on a JavaScript expression returning true on the record data\. In the COND code, \fBthis\fR refers to the record object:
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
$ 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
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.SH "OPTIONS"
|
||||
.
|
||||
.TP
|
||||
\fB\-h\fR, \fB\-\-help\fR
|
||||
Print this help info and exit\.
|
||||
.
|
||||
.TP
|
||||
\fB\-\-version\fR
|
||||
Print version of this command and exit\.
|
||||
.
|
||||
.TP
|
||||
\fB\-q\fR, \fB\-\-quiet\fR
|
||||
Don\'t warn if input isn\'t valid JSON\.
|
||||
.
|
||||
.P
|
||||
Filtering options:
|
||||
.
|
||||
.TP
|
||||
\fB\-l\fR, \fB\-\-level LEVEL\fR
|
||||
Only show messages at or above the specified level\. You can specify level \fInames\fR or numeric values\. (See \'Log Levels\' below\.)
|
||||
.
|
||||
.TP
|
||||
\fB\-c COND\fR, \fB\-\-condition COND\fR
|
||||
Run each log message through the condition and only show those that resolve to a truish value\. E\.g\. \fB\-c \'this\.pid == 123\'\fR\.
|
||||
.
|
||||
.TP
|
||||
\fB\-\-strict\fR
|
||||
Suppress all but legal Bunyan JSON log lines\. By default non\-JSON, and non\-Bunyan lines are passed through\.
|
||||
.
|
||||
.P
|
||||
Output options:
|
||||
.
|
||||
.TP
|
||||
\fB\-\-color\fR
|
||||
Colorize output\. Defaults to try if output stream is a TTY\.
|
||||
.
|
||||
.TP
|
||||
\fB\-\-no\-color\fR
|
||||
Force no coloring (e\.g\. terminal doesn\'t support it)
|
||||
.
|
||||
.TP
|
||||
\fB\-o FORMAT\fR, \fB\-\-output FORMAT\fR
|
||||
Specify an output format\. One of \fBpaul\fR (the default), \fBshort\fR, \fBjson\fR, \fBjson\-N\fR, or \fBinspect\fR\.
|
||||
.
|
||||
.TP
|
||||
\fB\-j\fR
|
||||
Shortcut for \fB\-o json\fR\.
|
||||
.
|
||||
.SH "LOG LEVELS"
|
||||
In Bunyan log records, then \fBlevel\fR field is a number\. For the \fB\-l|\-\-level\fR argument the level \fBnames\fR are supported as shortcuts\. In \fB\-c|\-\-condition\fR scripts, uppercase symbols like "DEBUG" are defined for convenience\.
|
||||
.
|
||||
.IP "" 4
|
||||
.
|
||||
.nf
|
||||
|
||||
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
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.SH "OUTPUT FORMATS"
|
||||
.
|
||||
.nf
|
||||
|
||||
FORMAT NAME DESCRIPTION
|
||||
paul (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\. Note: the "paul" name
|
||||
is deprecated and will be changed to "long"\.
|
||||
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\-0"
|
||||
inspect Node\.js `util\.inspect` output\.
|
||||
.
|
||||
.fi
|
||||
.
|
||||
.SH "PROJECT & BUGS"
|
||||
\fBbunyan\fR is written in JavaScript and requires node\.js (\fBnode\fR)\. The project lives at \fIhttps://github\.com/trentm/node\-bunyan\fR and is published to npm as "bunyan"\.
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
README, Install notes: \fIhttps://github\.com/trentm/node\-bunyan#readme\fR
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
Report bugs to \fIhttps://github\.com/trentm/node\-bunyan/issues\fR\.
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
See the full changelog at: \fIhttps://github\.com/trentm/node\-bunyan/blob/master/CHANGES\.md\fR
|
||||
.
|
||||
.IP "" 0
|
||||
.
|
||||
.SH "LICENSE"
|
||||
MIT License (see \fIhttps://github\.com/trentm/node\-bunyan/blob/master/LICENSE\.txt\fR)
|
||||
.
|
||||
.SH "COPYRIGHT"
|
||||
node\-bunyan is Copyright (c) 2012 Joyent, Inc\. Copyright (c) 2012 Trent Mick\. All rights reserved\.
|
233
docs/bunyan.1.html
Normal file
233
docs/bunyan.1.html
Normal file
|
@ -0,0 +1,233 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
||||
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
||||
<title>bunyan(1) - filter and pretty-print Bunyan log file content</title>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: man */
|
||||
body#manpage {margin:0}
|
||||
.mp {max-width:100ex;padding:0 9ex 1ex 4ex}
|
||||
.mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
|
||||
.mp h2 {margin:10px 0 0 0}
|
||||
.mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
|
||||
.mp h3 {margin:0 0 0 4ex}
|
||||
.mp dt {margin:0;clear:left}
|
||||
|
||||
.mp dd {margin:0 0 0 9ex}
|
||||
.mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
|
||||
.mp pre {margin-bottom:20px}
|
||||
.mp pre+h2,.mp pre+h3 {margin-top:22px}
|
||||
.mp h2+pre,.mp h3+pre {margin-top:5px}
|
||||
.mp img {display:block;margin:auto}
|
||||
.mp h1.man-title {display:none}
|
||||
.mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
|
||||
.mp h2 {font-size:16px;line-height:1.25}
|
||||
.mp h1 {font-size:20px;line-height:2}
|
||||
.mp {text-align:justify;background:#fff}
|
||||
.mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
|
||||
.mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
|
||||
.mp u {text-decoration:underline}
|
||||
.mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
|
||||
.mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
|
||||
.mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
|
||||
.mp b.man-ref {font-weight:normal;color:#434241}
|
||||
.mp pre {padding:0 4ex}
|
||||
.mp pre code {font-weight:normal;color:#434241}
|
||||
.mp h2+pre,h3+pre {padding-left:0}
|
||||
ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
|
||||
ol.man-decor {width:100%}
|
||||
ol.man-decor li.tl {text-align:left}
|
||||
ol.man-decor li.tc {text-align:center;letter-spacing:4px}
|
||||
ol.man-decor li.tr {text-align:right;float:right}
|
||||
</style>
|
||||
<style type='text/css' media='all'>
|
||||
/* style: toc */
|
||||
.man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
|
||||
.man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
|
||||
.man-navigation a:hover {color:#111;text-decoration:underline}
|
||||
</style>
|
||||
</head>
|
||||
<!--
|
||||
The following styles are deprecated and will be removed at some point:
|
||||
div#man, div#man ol.man, div#man ol.head, div#man ol.man.
|
||||
|
||||
The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
|
||||
.man-navigation should be used instead.
|
||||
-->
|
||||
<body id='manpage'>
|
||||
<div class='mp' id='man'>
|
||||
|
||||
<div class='man-navigation' style='display:none'>
|
||||
<a href="#NAME">NAME</a>
|
||||
<a href="#SYNOPSIS">SYNOPSIS</a>
|
||||
<a href="#DESCRIPTION">DESCRIPTION</a>
|
||||
<a href="#OPTIONS">OPTIONS</a>
|
||||
<a href="#LOG-LEVELS">LOG LEVELS</a>
|
||||
<a href="#OUTPUT-FORMATS">OUTPUT FORMATS</a>
|
||||
<a href="#PROJECT-BUGS">PROJECT & BUGS</a>
|
||||
<a href="#LICENSE">LICENSE</a>
|
||||
<a href="#COPYRIGHT">COPYRIGHT</a>
|
||||
</div>
|
||||
|
||||
<ol class='man-decor man-head man head'>
|
||||
<li class='tl'>bunyan(1)</li>
|
||||
<li class='tc'>bunyan manual</li>
|
||||
<li class='tr'>bunyan(1)</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="NAME">NAME</h2>
|
||||
<p class="man-name">
|
||||
<code>bunyan</code> - <span class="man-whatis">filter and pretty-print Bunyan log file content</span>
|
||||
</p>
|
||||
|
||||
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
||||
|
||||
<p><code>bunyan</code> [OPTIONS] [LOOKUPS...]</p>
|
||||
|
||||
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
||||
|
||||
<p>"Bunyan" is <strong>a simple and fast a JSON logging library</strong> for node.js services,
|
||||
a one-JSON-object-per-line log format, and <strong>a <code>bunyan</code> CLI tool</strong> for nicely
|
||||
viewing those logs. This man page describes the latter.</p>
|
||||
|
||||
<h3 id="Pretty-printing">Pretty-printing</h3>
|
||||
|
||||
<p>A bunyan log file is a stream of JSON objects, optionally interspersed with
|
||||
non-JSON log lines. The primary usage of <a href="bunyan.1.html" class="man-ref">bunyan<span class="s">(1)</span></a> is to pretty print,
|
||||
for example:</p>
|
||||
|
||||
<pre><code>$ 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
|
||||
...
|
||||
</code></pre>
|
||||
|
||||
<p>By default the "long" output format is used. Use the <code>-o FORMAT</code> option to
|
||||
emit other formats. E.g.:</p>
|
||||
|
||||
<pre><code>$ bunyan foo.log -o short
|
||||
22:56:52.856Z INFO myservice: My message
|
||||
extra: multi
|
||||
line
|
||||
22:56:54.856Z ERROR myservice: My message
|
||||
...
|
||||
</code></pre>
|
||||
|
||||
<p>These will color the output if supported in your terminal.
|
||||
See "OUTPUT FORMATS" below.</p>
|
||||
|
||||
<h3 id="Filtering">Filtering</h3>
|
||||
|
||||
<p>The <code>bunyan</code> CLI can also be used to filter a bunyan log. Use <code>-l LEVEL</code>
|
||||
to filter by level:</p>
|
||||
|
||||
<pre><code>$ bunyan foo.log -l error # show only 'error' level records
|
||||
[2012-02-08T22:56:54.856Z] ERROR: myservice/123 on example.com: My message
|
||||
</code></pre>
|
||||
|
||||
<p>Use <code>-c COND</code> to filter on a JavaScript expression returning true on the
|
||||
record data. In the COND code, <code>this</code> refers to the record object:</p>
|
||||
|
||||
<pre><code>$ 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
|
||||
</code></pre>
|
||||
|
||||
<h2 id="OPTIONS">OPTIONS</h2>
|
||||
|
||||
<dl>
|
||||
<dt><code>-h</code>, <code>--help</code></dt><dd><p>Print this help info and exit.</p></dd>
|
||||
<dt><code>--version</code></dt><dd><p>Print version of this command and exit.</p></dd>
|
||||
<dt><code>-q</code>, <code>--quiet</code></dt><dd><p>Don't warn if input isn't valid JSON.</p></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<p>Filtering options:</p>
|
||||
|
||||
<dl>
|
||||
<dt><code>-l</code>, <code>--level LEVEL</code></dt><dd><p>Only show messages at or above the specified level. You can specify level
|
||||
<em>names</em> or numeric values. (See 'Log Levels' below.)</p></dd>
|
||||
<dt><code>-c COND</code>, <code>--condition COND</code></dt><dd><p>Run each log message through the condition and only show those that
|
||||
resolve to a truish value. E.g. <code>-c 'this.pid == 123'</code>.</p></dd>
|
||||
<dt><code>--strict</code></dt><dd><p>Suppress all but legal Bunyan JSON log lines. By default non-JSON, and
|
||||
non-Bunyan lines are passed through.</p></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<p>Output options:</p>
|
||||
|
||||
<dl>
|
||||
<dt class="flush"><code>--color</code></dt><dd><p>Colorize output. Defaults to try if output stream is a TTY.</p></dd>
|
||||
<dt><code>--no-color</code></dt><dd><p>Force no coloring (e.g. terminal doesn't support it)</p></dd>
|
||||
<dt><code>-o FORMAT</code>, <code>--output FORMAT</code></dt><dd><p>Specify an output format. One of <code>paul</code> (the default), <code>short</code>, <code>json</code>,
|
||||
<code>json-N</code>, or <code>inspect</code>.</p></dd>
|
||||
<dt class="flush"><code>-j</code></dt><dd><p>Shortcut for <code>-o json</code>.</p></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h2 id="LOG-LEVELS">LOG LEVELS</h2>
|
||||
|
||||
<p>In Bunyan log records, then <code>level</code> field is a number. For the <code>-l|--level</code>
|
||||
argument the level <strong>names</strong> are supported as shortcuts. In <code>-c|--condition</code>
|
||||
scripts, uppercase symbols like "DEBUG" are defined for convenience.</p>
|
||||
|
||||
<pre><code>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
|
||||
</code></pre>
|
||||
|
||||
<h2 id="OUTPUT-FORMATS">OUTPUT FORMATS</h2>
|
||||
|
||||
<pre><code>FORMAT NAME DESCRIPTION
|
||||
paul (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. Note: the "paul" name
|
||||
is deprecated and will be changed to "long".
|
||||
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-0"
|
||||
inspect Node.js `util.inspect` output.
|
||||
</code></pre>
|
||||
|
||||
<h2 id="PROJECT-BUGS">PROJECT & BUGS</h2>
|
||||
|
||||
<p><code>bunyan</code> is written in JavaScript and requires node.js (<code>node</code>). The project
|
||||
lives at <a href="https://github.com/trentm/node-bunyan" data-bare-link="true">https://github.com/trentm/node-bunyan</a> and is published to npm as
|
||||
"bunyan".</p>
|
||||
|
||||
<ul>
|
||||
<li>README, Install notes: <a href="https://github.com/trentm/node-bunyan#readme" data-bare-link="true">https://github.com/trentm/node-bunyan#readme</a></li>
|
||||
<li>Report bugs to <a href="https://github.com/trentm/node-bunyan/issues" data-bare-link="true">https://github.com/trentm/node-bunyan/issues</a>.</li>
|
||||
<li>See the full changelog at: <a href="https://github.com/trentm/node-bunyan/blob/master/CHANGES.md" data-bare-link="true">https://github.com/trentm/node-bunyan/blob/master/CHANGES.md</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2 id="LICENSE">LICENSE</h2>
|
||||
|
||||
<p>MIT License (see <a href="https://github.com/trentm/node-bunyan/blob/master/LICENSE.txt" data-bare-link="true">https://github.com/trentm/node-bunyan/blob/master/LICENSE.txt</a>)</p>
|
||||
|
||||
<h2 id="COPYRIGHT">COPYRIGHT</h2>
|
||||
|
||||
<p>node-bunyan is Copyright (c) 2012 Joyent, Inc. Copyright (c) 2012 Trent Mick.
|
||||
All rights reserved.</p>
|
||||
|
||||
|
||||
<ol class='man-decor man-foot man foot'>
|
||||
<li class='tl'></li>
|
||||
<li class='tc'>October 2012</li>
|
||||
<li class='tr'>bunyan(1)</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<a href="https://github.com/trentm/node-bunyan"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a></body>
|
||||
</html>
|
150
docs/bunyan.1.ronn
Normal file
150
docs/bunyan.1.ronn
Normal file
|
@ -0,0 +1,150 @@
|
|||
# bunyan(1) -- filter and pretty-print Bunyan log file content
|
||||
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
`bunyan` \[OPTIONS\] \[LOOKUPS...\]
|
||||
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
"Bunyan" is **a simple and fast a JSON logging library** for node.js services,
|
||||
a one-JSON-object-per-line log format, and **a `bunyan` 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 `-o FORMAT` 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 `-l LEVEL`
|
||||
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 `-c COND` 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
|
||||
|
||||
|
||||
## 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.
|
||||
|
||||
Filtering options:
|
||||
|
||||
* `-l`, `--level LEVEL`:
|
||||
Only show messages at or above the specified level. You can specify level
|
||||
*names* or numeric values. (See 'Log Levels' below.)
|
||||
|
||||
* `-c COND`, `--condition COND`:
|
||||
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)
|
||||
|
||||
* `-o FORMAT`, `--output FORMAT`:
|
||||
Specify an output format. One of `paul` (the default), `short`, `json`,
|
||||
`json-N`, or `inspect`.
|
||||
|
||||
* `-j`:
|
||||
Shortcut for `-o json`.
|
||||
|
||||
|
||||
## 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
|
||||
|
||||
|
||||
## OUTPUT FORMATS
|
||||
|
||||
FORMAT NAME DESCRIPTION
|
||||
paul (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. Note: the "paul" name
|
||||
is deprecated and will be changed to "long".
|
||||
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-0"
|
||||
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>
|
||||
|
||||
|
||||
## LICENSE
|
||||
|
||||
MIT License (see <https://github.com/trentm/node-bunyan/blob/master/LICENSE.txt>)
|
||||
|
||||
|
||||
## COPYRIGHT
|
||||
|
||||
node-bunyan is Copyright (c) 2012 Joyent, Inc. Copyright (c) 2012 Trent Mick.
|
||||
All rights reserved.
|
1
docs/index.html
Normal file
1
docs/index.html
Normal file
|
@ -0,0 +1 @@
|
|||
<a href="bunyan.1.html">bunyan(1) man page</a>
|
Loading…
Reference in a new issue