Just another one Python logging package.
Project description
EPYLOG
Logs are the first.
This is a simple wrapper to standard logging library for Python.
Epylog provides to send log data to different sources e.g. file, rsyslog, graylog, http, etc.
Use different loggers for different needs and manage it from one place.
Installation
pip install epylog
Usage
-
Move to project root directory and create
logging.cfg
file:cd /project/root touch logging.cfg
-
Fill configuration file with you logging settings. Push to
targets
array everything you want to send to. And fillrules
array with logger names (use*
wildcard if you want) and set which targets loggers can use:{ "targets": [ { "name": "fl", "type": "file", "filename": "/var/log/my_log.log" }, { "name": "gl", "type": "graylog", "host": "localhost", "port": 12202, "facility": "test" }, { "name": "rsl", "type": "syslog", "address": "localhost", "facility": "test" } ], "rules": [ { "name": "my_test_*", "min-level": "info", "write-to": "fl, gl", "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s" }, { "name": "*", "min-level": "warning", "write-to": "rsl", "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s" } ] }
-
Finally call
getLogger
function to initialize your logger:from epylog import Logger # put some code here logger = Logger.getLogger('my_test_logger') logger.info('Hello from %s', logger.name)
-
Enjoy sending your logs everywhere
Configuration reference
logging.cfg
is a simple JSON object that descxribes all sources that you planning to use and associates loggers with this sources.
Targets
Tagrets are sources where can you send your logs.
...
{
"name": "fl",
"type": "file",
...
}
...
Field | Description |
---|---|
name | Unique name of target |
type | Target type. Now availible file , watch-file , syslog , http and graylog target types |
other fields | Other fields associated with specific target e.g. filename , host , facility , etc. |
Rules
Rules are patterns for associating user loggers with specific configuration.
...
{
"name": "my_test_*",
"min-level": "info",
"write-to": "fl, gl",
"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
}
...
Field | Description |
---|---|
name | Unique name(s) of logger given by getLogger method. Use * wildcard for applying same settings for group of loggers |
min-level | Minimum logging level |
write-to | Target names splitted by comma without whitespases that will be asociated with this logger(s) |
format | Log line format |
License
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
Built Distribution
File details
Details for the file epylog-0.1.33.tar.gz
.
File metadata
- Download URL: epylog-0.1.33.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdba779ac3aa1923f5f8415ca91f735dc69e2bf60f283eba90f4fb90d77e9a04 |
|
MD5 | 074a64df4872b451533fd43e31e44870 |
|
BLAKE2b-256 | 78f2f584130699783043785d80cd9a90ac674e7b7b71edbe8e8f55e931e50a2a |
File details
Details for the file epylog-0.1.33-py2.py3-none-any.whl
.
File metadata
- Download URL: epylog-0.1.33-py2.py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | efd7dfdbc31e227b11a3490da9358814724febc267665144f905b4fedc013389 |
|
MD5 | 2ab647c73b417db114a8ada02417189b |
|
BLAKE2b-256 | 1143e4247031d233a41bd123141ab45c596ee16f74ccf1126d1fd7f1b91b4c5e |