This very simple module does its best to help you use Python's logging correctly, by making sure you always invoke the right Logger for a module.
Project description
magic_logger
Coverage | Release |
---|---|
This very simple module does its best to help you use Python's logging
correctly, by making sure you always
invoke the right Logger
for a module. No more boilerplace logger.getLogger(__name__)
! All this
without any external dependencies - this is just a tiny wrapper for logging
.
Getting started
To install:
pip install magic_logger==1.0.0
Overview
Import logger
from magic_logger
and just call any methods you'd normally call on a logging.Logger
instance:
# Let's assume we are in `mypackage.mymodule`
from magic_logger import logger
logger.info("Someting very informative") # equivalent to logging.getLogger(__name__).info(...)
magic_logger.logger
also acts like a proxy for other commonly used functions in logging.config
:
logger.dict_config(...) # dispatches to logging.config.dictConfig
logger.file_config(...) # dispatches to logging.config.file_config
logger.listen(...) # dispatches to logging.config.listen
logger.stop_listening(...) # dispatches to logging.config.stopListening
What about the other stuff in logging
For anything else, just use logging
directly. magic_logger
just proxies calls over anyway so you can use logging
as usual.
How does it work?
When you ask for an attribute of magic_logger.logger
(other than the configuration ones listed above),
it looks at the stack and determines the module from where the call originates. It then returns the attribute
of the same name of the correct logger for that module, using logging.getLogger
. As simple as that!
What if I call a module using python -m
and log something from it, will that use the logger for __main__
?
No, it will simply look at the module's __spec__
for the name. Unless you run an interactive session and log straight from it,
you won't ever use the logger for __main__
!
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 magic_logger-1.0.2.tar.gz
.
File metadata
- Download URL: magic_logger-1.0.2.tar.gz
- Upload date:
- Size: 3.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92feedb1e0b1f1270725548813f4ac6b4bd3156d1ca8732a86b9b6048ac5142d |
|
MD5 | 1a239cec92cd64482bfbf5e8fc6897e6 |
|
BLAKE2b-256 | 887a3502c67466a255fddb7f417a6c90fea720e69a8c5a8cba57b1ac09094f1c |