https://github.com/afxentios/config-logger
A simple configurable logger for python projects
https://github.com/afxentios/config-logger
configuration json logging python yaml
Last synced: about 2 months ago
JSON representation
A simple configurable logger for python projects
- Host: GitHub
- URL: https://github.com/afxentios/config-logger
- Owner: afxentios
- License: mit
- Created: 2017-01-31T07:36:08.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-10-27T19:30:41.000Z (over 7 years ago)
- Last Synced: 2025-06-05T01:59:53.493Z (about 1 year ago)
- Topics: configuration, json, logging, python, yaml
- Language: Python
- Size: 16.6 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE.txt
Awesome Lists containing this project
README
config-logger: Configurable and flexible logger for your python applications
============================================================================
Build Status
------------
|travis status| |coverage| |health|
Project details
---------------
|license| |pypi|
.. |travis status| image:: https://travis-ci.org/afxentios/config-logger.svg?branch=master
:target: https://travis-ci.org/afxentios/config-logger
:alt: Travis-CI build status
.. |coverage| image:: https://coveralls.io/repos/github/afxentios/config-logger/badge.svg
:target: https://coveralls.io/github/afxentios/config-logger
:alt: Code Coverage
.. |health| image:: https://landscape.io/github/afxentios/config-logger/master/landscape.svg?style=flat
:target: https://landscape.io/github/afxentios/config-logger/master
:alt: Code Health
.. |license| image:: https://img.shields.io/badge/license-MIT-blue.svg
:target: https://github.com/afxentios/config-logger/blob/master/LICENSE.txt
:alt: License
.. |pypi| image:: https://badge.fury.io/py/config-logger.svg
:target: https://badge.fury.io/py/config-logger
:alt: Pypi Version
Description
-----------
The **config-logger** package is a basic configurable logger. It reads the configuration data for the logging from an
external YAML, JSON file or from a given python dictionary and validates it. The contents of this dictionary are
described in `Configuration dictionary schema`_. This package is currently tested on Python 2.7.
- `Issue tracker`_
- `Changelog`_
Installation
------------
::
pip install config-logger
or
download the `latest release`_ and run
::
python setup.py install
Usage
-----
Configured from external .yaml or .json file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
#logging.yaml contains the configuration data which defines the logging in your project
from config_logger import Logger
logger = Logger(name='my_logger', cfg_path='/path/to/logging.yaml')
logger.info("This will be written in a file called info.log")
**Console Output**
::
2017-01-31 12:20:32,693 - my_logger - INFO - This will be written in a file called info.log
Configured from dictionary
~~~~~~~~~~~~~~~~~~~~~~~~~~
::
log_config = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'basic': {
'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
}
},
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'formatter': 'basic',
'level': 'WARNING',
'stream': 'ext://sys.stdout'
}
'root': {
'handlers': ['console'],
'level': 'WARNING'
}
}
from config_logger import Logger
logger = Logger(name='my_logger', default_conf=log_config)
logger.warning("This will be written in a file called warning.log")
**Console Output**
::
2017-01-31 13:12:56,002 - my_logger - WARNING - This will be written in a file called warning.log
*Note: You can find sample of logging configuration files supported by config-logger in* `this repo`_.
License
-------
This project is licensed under the MIT license.
.. _Changelog: https://github.com/afxentios/config-logger/blob/master/CHANGELOG.rst
.. _Issue tracker: https://github.com/afxentios/config-logger/issues
.. _latest release: https://github.com/afxentios/config-logger/releases
.. _Configuration dictionary schema: https://docs.python.org/3/library/logging.config.html#logging-config-dictschema
.. _this repo: https://github.com/afxentios/python_logging_configuration_sample