# 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](./doc/images/flannel-man.jpg)
<p><small>
[[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)
</small></p>
And hipsters.
![Man In Plaid Shirt](./doc/images/Man_in_plaid_shirt.jpg)
<p><small>
[[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)
</small></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*.
![Flannel Window](./doc/images/flannel-basic-example.png)
### 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
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
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](./doc/images/flannel-man.jpg)
<p><small>
[[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)
</small></p>
And hipsters.
![Man In Plaid Shirt](./doc/images/Man_in_plaid_shirt.jpg)
<p><small>
[[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)
</small></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*.
![Flannel Window](./doc/images/flannel-basic-example.png)
### 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
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
flannel-1.0-py3-none-any.whl
(12.0 kB
view hashes)