A logger that logs in a tree structure form in mongo
Project description
treelogger4mongo
================
The treelogger4mongo is a simple module that allows you to lo debug data into a mongo database. The only difference is that this module supports logging in a tree-like structure.
## How does it work?
Lets imagine we have a process that has to loop through all your user database. Adding the mongo logger would only have to be something like this:
import treelogger4mongo as treelog
def process_users(users):
branch = treelog.info("About to process %s users." % len(users))
for user in users:
sub = branch.info("Processing: %s" % user.username,
{'username': user.username,
'email': user.email})
#do something with user.
sub.info("Did something with user.")
#something else
if user.is_special:
some_heavy_function(user, sub.info("Starting some_heavy_function."))
sub.info("Finished processing.")
What we get from this is a root log entry with the message "About to process ... users.". However, this is where treelogger comes strong in, each log message after that is applied like a branch to that root log entry.
A sample output would be a log structure in mongo that looks something like this:
About to process 2 users
├───Processing John Doe {username: johndoe, email: }
│ ├───Did something with user.
│ └───Finished processing
└───Processing John Smith
├───Did something with user.
├───Starting some_heavy_function.
│ └───....
└───Finished processing
With this, you get a nice tree structure for your logs in mongo that makes it easier to read the log and trace each function.
**Hint:**
Each branch can, including a simple message, contain any arbitrary information in the data parameter. This accepts any object and is automatically saved with the log entry.
## Getting it to run
In order to be able to dynamically call treelogger4mongo, you need to have initialized it atlease once somewhere. The treelogger4mongo automatically saves the configuration and allows you to call its static functions.
from treelogger4mongo import Tree
Tree("host", "port", "database", "collection")
================
The treelogger4mongo is a simple module that allows you to lo debug data into a mongo database. The only difference is that this module supports logging in a tree-like structure.
## How does it work?
Lets imagine we have a process that has to loop through all your user database. Adding the mongo logger would only have to be something like this:
import treelogger4mongo as treelog
def process_users(users):
branch = treelog.info("About to process %s users." % len(users))
for user in users:
sub = branch.info("Processing: %s" % user.username,
{'username': user.username,
'email': user.email})
#do something with user.
sub.info("Did something with user.")
#something else
if user.is_special:
some_heavy_function(user, sub.info("Starting some_heavy_function."))
sub.info("Finished processing.")
What we get from this is a root log entry with the message "About to process ... users.". However, this is where treelogger comes strong in, each log message after that is applied like a branch to that root log entry.
A sample output would be a log structure in mongo that looks something like this:
About to process 2 users
├───Processing John Doe {username: johndoe, email: }
│ ├───Did something with user.
│ └───Finished processing
└───Processing John Smith
├───Did something with user.
├───Starting some_heavy_function.
│ └───....
└───Finished processing
With this, you get a nice tree structure for your logs in mongo that makes it easier to read the log and trace each function.
**Hint:**
Each branch can, including a simple message, contain any arbitrary information in the data parameter. This accepts any object and is automatically saved with the log entry.
## Getting it to run
In order to be able to dynamically call treelogger4mongo, you need to have initialized it atlease once somewhere. The treelogger4mongo automatically saves the configuration and allows you to call its static functions.
from treelogger4mongo import Tree
Tree("host", "port", "database", "collection")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file treelogger4mongo-0.1.0.tar.gz
.
File metadata
- Download URL: treelogger4mongo-0.1.0.tar.gz
- Upload date:
- Size: 3.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bb42c4cb9d0a48a33d9b833bfc16acdb6609d791cb06399c1061965bcbff223 |
|
MD5 | 0c4f623253c09b512288f6f603647ffb |
|
BLAKE2b-256 | 41009340053cd4f0f58e9ce327eac3bacf1a1330628adb63dc153cccb66c9e8c |