Flannel \| A JSON Log Reader
Project description
============================
`Repository <https://bitbucket.org/bear_belly/flannel>`__
For JSON addicts, it can sometimes be a bit tricky to read
JSON-formatter log output.
::
{
"name": "blue",
"msg": "carry kid personal visit must table %s but machine other majority dog often avoid ever into %s now speech might when travel process everybody between structure group into behavior red especially staff energy condition somebody deal source %s %s very fish what final %s",
"args": [
"almost",
"resource",
"suffer",
"build",
"stop"
],
"levelname": "ERROR",
"levelno": "40",
"pathname": "/thus/get/network/character/use/consumer/main",
"filename": "middle.py",
"module": "north",
"exc_info": "None",
"exc_text": "None",
"stack_info": "None",
"lineno": "1967",
"funcName": "involve",
"created": "9366883292.60978",
"msecs": "708.5866876106",
"relativeCreated": "766.580321207097",
"thread": "284803497762",
"threadName": "MainThread",
"processName": "MainProcess",
"process": "16475"
}
I know, doesn’t look that pleasing. That’s why I created a GUI
application to display JSON logs in a table.
Note that this application can ready *any* set of json data. It’s just
mainly useful for JSON log output.
Need a Handy JSON Logger?
~~~~~~~~~~~~~~~~~~~~~~~~~
Well, thought you’d never ask.
I actually created one
Why The Name “Flannel?”
~~~~~~~~~~~~~~~~~~~~~~~
That’s what loggers (lumberjacks) wear of course!
|Logger|
.. raw:: html
<p>
`[1] <https://flic.kr/p/j7aqhp>`__ `Bearded LumberJack
Look <https://www.flickr.com/photos/jeepersmedia/11884158495>`__ `CC BY
2.0 <https://creativecommons.org/licenses/by/2.0/legalcode>`__
.. raw:: html
</p>
And hipsters.
|Man In Plaid Shirt|
.. raw:: html
<p>
`[2] <https://www.flickr.com/people/57864400@N00>`__ `Man in plaid
shirt <https://commons.wikimedia.org/wiki/File:Man_in_plaid_shirt.jpg>`__
`CC BY 2.0 <https://creativecommons.org/licenses/by/2.0/legalcode>`__
.. raw:: html
</p>
Basic Usage
-----------
Flannel takes the input from standard input (stdin), meaning, to read
JSON output, pipe what you want from another command:
::
$ ./do-this-thing | flannel
Already have a log file you’d like to read? Don’t need that much extra
work done:
::
$ cat myfile.log | flannel
If you play your cards right the following window should appear:
A few things to note:
- Each key in the json log entry corresponds to
- A field in the **filter content** section.
- A header in the table
- The **Show Table Headings** is an entry, where you can type in any
field listed (comma seperated) and the table will show only those
columns you specify. You can also order the columns.
- Sometimes a program may spit out strings not in json format. That’s
why I included the **Raw Output** tab, so that if things aren’t
working out, you can see what went wrong. Note this is the raw output
for *your program*, not for *flannel*.
.. figure:: ./doc/images/flannel-basic-example.png
:alt: Flannel Window
Flannel Window
Not Seeing Anything in Flannel?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firstly, you read the *Basic Usage* section, right? You need to feed in
from stdin. ;-)
Now that you have that covered…
I was a a bit confused myself, and I designed this thing!
It’s not an issue with flannel, but, rather, with how UNIX handles
standard input and output. When a program writes content to the
terminal, only stdout is piped. A program will typically write log
entries to ``stderr``, which is not piped to ``stdin``.
**tl;dr:** Do this instead:
::
$ ./do-this-thing 2>&1 | flannel
Notice the **2>&1**. That redirects stderr to stdout. Then you should
see output.
Log slowing down?
~~~~~~~~~~~~~~~~~
You might not want to keep *all* the logs in memory. Hitting the
``[Clear]`` button next to the output table should–er–clear things up.
Requirements
------------
- Python 3+
- PyQt5 and up
- Lord of the Config
Optionally, faker is used for the testing module
``flannel.json_output``.
Installation
------------
Install as you would other python packages:
::
$ pip install flannel
.. |Logger| image:: ./doc/images/flannel-man.jpg
.. |Man In Plaid Shirt| image:: ./doc/images/Man_in_plaid_shirt.jpg
Home-page: UNKNOWN
Author: Jordan Hewitt
Author-email: jordan.h@startmail.com
License: GPLv3
Description-Content-Type: UNKNOWN
Description: UNKNOWN
Keywords: open data database free library
Platform: UNKNOWN
`Repository <https://bitbucket.org/bear_belly/flannel>`__
For JSON addicts, it can sometimes be a bit tricky to read
JSON-formatter log output.
::
{
"name": "blue",
"msg": "carry kid personal visit must table %s but machine other majority dog often avoid ever into %s now speech might when travel process everybody between structure group into behavior red especially staff energy condition somebody deal source %s %s very fish what final %s",
"args": [
"almost",
"resource",
"suffer",
"build",
"stop"
],
"levelname": "ERROR",
"levelno": "40",
"pathname": "/thus/get/network/character/use/consumer/main",
"filename": "middle.py",
"module": "north",
"exc_info": "None",
"exc_text": "None",
"stack_info": "None",
"lineno": "1967",
"funcName": "involve",
"created": "9366883292.60978",
"msecs": "708.5866876106",
"relativeCreated": "766.580321207097",
"thread": "284803497762",
"threadName": "MainThread",
"processName": "MainProcess",
"process": "16475"
}
I know, doesn’t look that pleasing. That’s why I created a GUI
application to display JSON logs in a table.
Note that this application can ready *any* set of json data. It’s just
mainly useful for JSON log output.
Need a Handy JSON Logger?
~~~~~~~~~~~~~~~~~~~~~~~~~
Well, thought you’d never ask.
I actually created one
Why The Name “Flannel?”
~~~~~~~~~~~~~~~~~~~~~~~
That’s what loggers (lumberjacks) wear of course!
|Logger|
.. raw:: html
<p>
`[1] <https://flic.kr/p/j7aqhp>`__ `Bearded LumberJack
Look <https://www.flickr.com/photos/jeepersmedia/11884158495>`__ `CC BY
2.0 <https://creativecommons.org/licenses/by/2.0/legalcode>`__
.. raw:: html
</p>
And hipsters.
|Man In Plaid Shirt|
.. raw:: html
<p>
`[2] <https://www.flickr.com/people/57864400@N00>`__ `Man in plaid
shirt <https://commons.wikimedia.org/wiki/File:Man_in_plaid_shirt.jpg>`__
`CC BY 2.0 <https://creativecommons.org/licenses/by/2.0/legalcode>`__
.. raw:: html
</p>
Basic Usage
-----------
Flannel takes the input from standard input (stdin), meaning, to read
JSON output, pipe what you want from another command:
::
$ ./do-this-thing | flannel
Already have a log file you’d like to read? Don’t need that much extra
work done:
::
$ cat myfile.log | flannel
If you play your cards right the following window should appear:
A few things to note:
- Each key in the json log entry corresponds to
- A field in the **filter content** section.
- A header in the table
- The **Show Table Headings** is an entry, where you can type in any
field listed (comma seperated) and the table will show only those
columns you specify. You can also order the columns.
- Sometimes a program may spit out strings not in json format. That’s
why I included the **Raw Output** tab, so that if things aren’t
working out, you can see what went wrong. Note this is the raw output
for *your program*, not for *flannel*.
.. figure:: ./doc/images/flannel-basic-example.png
:alt: Flannel Window
Flannel Window
Not Seeing Anything in Flannel?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firstly, you read the *Basic Usage* section, right? You need to feed in
from stdin. ;-)
Now that you have that covered…
I was a a bit confused myself, and I designed this thing!
It’s not an issue with flannel, but, rather, with how UNIX handles
standard input and output. When a program writes content to the
terminal, only stdout is piped. A program will typically write log
entries to ``stderr``, which is not piped to ``stdin``.
**tl;dr:** Do this instead:
::
$ ./do-this-thing 2>&1 | flannel
Notice the **2>&1**. That redirects stderr to stdout. Then you should
see output.
Log slowing down?
~~~~~~~~~~~~~~~~~
You might not want to keep *all* the logs in memory. Hitting the
``[Clear]`` button next to the output table should–er–clear things up.
Requirements
------------
- Python 3+
- PyQt5 and up
- Lord of the Config
Optionally, faker is used for the testing module
``flannel.json_output``.
Installation
------------
Install as you would other python packages:
::
$ pip install flannel
.. |Logger| image:: ./doc/images/flannel-man.jpg
.. |Man In Plaid Shirt| image:: ./doc/images/Man_in_plaid_shirt.jpg
Home-page: UNKNOWN
Author: Jordan Hewitt
Author-email: jordan.h@startmail.com
License: GPLv3
Description-Content-Type: UNKNOWN
Description: UNKNOWN
Keywords: open data database free library
Platform: UNKNOWN
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
flannel-0.1.linux-x86_64.tar.gz
(16.1 kB
view hashes)
Built Distributions
flannel-0.1-py3.6.egg
(18.2 kB
view hashes)
flannel-0.1-py3-none-any.whl
(12.2 kB
view hashes)