Metadata-Version: 1.1
Name: belogging
Version: 0.1.1
Summary: Belogging
Home-page: https://github.com/georgeyk/belogging/
Author: George Y. Kussumoto
Author-email: contato@georgeyk.com.br
License: MIT
Download-URL: https://github.com/georgeyk/belogging/releases
Description: 
        Belogging
        =========
        
        *Don't fight with logging ...*
        
        |TravisCI Build Status| |Coverage Status|
        
        ----
        
        Easy logging configuration based on environment variables.
        
        Features:
        
            * Set logging level using environment variable LOG_LEVEL (defaults to 'INFO')
            * Set which loggers to enable using environment variable LOGGERS (defaults to '', everything)
            * Always output to stdout
            * Optional JSON formatter
            * Completely disable logging setting LOG_LEVEL=DISABLED
        
        Requirements:
        
            * Python 3.5 and beyond
        
        Install:
        
            `pip install belogging`
        
        
        Examples:
        ---------
        
        Simple applications:
        ~~~~~~~~~~~~~~~~~~~~
        
        .. code-block:: python
        
            # my_script.py
        
            import belogging
            belogging.load()
            # ^^ this call is optional, only useful for customization
            # For example, to enable JSON output: belogging.load(json=True)
        
            # belogging.getLogger is just a sugar to logging.getLogger, you can
            # use logging.getLogger as usual (and recommended).
            logger = belogging.getLogger('foobar')
            logger.debug('test 1')
            logger.info('test 2')
        
        
        Executing:
        
        .. code-block:: bash
        
            # selecting LOG_LEVEL
            $ LOG_LEVEL=DEBUG python my_script.py
            # level=DEBUG message=test 1
            # level=INFO message=test 2
        
            # selecting LOGGERS
            $ LOGGERS=foobar python my_script.py
            # Both messages
        
            # Both
            $ LOGGERS=foobar LOG_LEVEL=INFO my_script.py
            # only level=INFO message=test 2
        
        
        Applications should call ```belogging.load()``` upon initialization.
        The first ```__init__.py``` would be a good candidate, but anything before any call to
        ```logging``` module will be fine.
        
        
        Django:
        ~~~~~~~
        
        
        In your projects ```settings.py```:
        
        .. code-block:: python
        
            import belogging
            # Disable django logging setup
            LOGGING_CONFIG = None
            belogging.load()
        
        
        Inside your code, just use ```logging.getLogger()``` as usual.
        
        .. code-block:: bash
        
            $ export LOG_LEVEL=WARNING
            $ ./manage.py runserver
            # It will output only logging messages with severity > WARNING
        
        
        Logging follows a hierarchy, so you easily select or skip some logging messages:
        
        
        .. code-block:: bash
        
            $ export LOGGERS=my_app.critical_a,my_app.critical_c,my_lib
            $ ./my-app.py
            # "my_app.critical_b messages" will be skipped
            # all messages from my_lib will show up
        
        
        .. |TravisCI Build Status| image:: https://travis-ci.org/georgeyk/belogging.svg?branch=master
           :target: https://travis-ci.org/georgeyk/belogging
        .. |Coverage Status| image:: https://coveralls.io/repos/github/georgeyk/belogging/badge.svg?branch=master
           :target: https://coveralls.io/github/georgeyk/belogging?branch=master
        
        
        Changelog:
        ----------
        
        0.1.1
        -----
        
        * Workaround to prevent KeyError exception in LoggerDuplicationFilter
        
        0.1.0
        -----
        
        * Add JSON formatter
        * Minor improvements
        
        
        0.0.2
        -----
        
        * Added LoggerDuplicationFilter and enable_duplication_filter option
        * Added belogging.getLogger (sugar to logging.getLogger)
        
        
        0.0.1
        -----
        
        * Initial release
        
Keywords: logging
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: System :: Logging
