Metadata-Version: 1.1
Name: alkivi-logger
Version: 1.1.1
Summary: Python logger used at Alkivi
Home-page: https://github.com/alkivi-sas/python-alkivi-logger
Author: Anthony Martinet
Author-email: anthony@alkivi.fr
License: LGPLv3
Description: python-alkivi-logger
        ====================
        
        |Build Status| |Requirements Status|
        
        Python logger used at Alkivi
        
        Package
        -------
        
        Example
        
        .. code:: python
        
            import logging
        
            from alkivi.logger import Logger
        
            #
            # Define Logger
            #
            l = logging.getLogger(__name__)
            logger = Logger(l,
                            min_log_level_to_mail=None,
                            min_log_level_to_save=logging.DEBUG,
                            min_log_level_to_print=logging.DEBUG,
                            min_log_level_to_syslog=None,
                            emails=['anthony@alkivi.fr'])
        
            #
            # All log level, from bottom to top
            #
            logger.debug('This is a debug comment')
            logger.info('This is an info comment')
            logger.warning('This is a warning comment')
            logger.error('This is an error comment')
            logger.critical('This is a critical comment')
        
            try:
                1/0
            except Exception as e:
                logger.exception('This is an exception comment')
                pass
        
            #
            # You can adjust log level on the fly
            #
            logger.set_min_level_to_mail(logging.WARNING)
            logger.set_min_level_to_save(logging.WARNING)
        
            #
            # You can use loops
            #
            logger.new_loop_logger()
            for i in range(0, 11):
                logger.new_iteration(prefix='i=%i' % (i))
                logger.debug("We are now prefixing all logger")
                if i == 9:
                    logger.debug("Lets do another loop")
                    logger.new_loop_logger()
                    for j in range(0, 5):
                        logger.new_iteration(prefix='j=%i' % (j))
                        logger.debug("Alkivi pow@")
        
                    # Dont forget to close logger or shit will happen
                    logger.del_loop_logger()
                # Bonus point : if emailing is set, only send email for the loop we have
                # error
                if i == 10:
                    logger.critical("We shall receive only mail for last loop")
        
            logger.del_loop_logger()
            logger.debug('We now remove an loop, thus a prefix')
        
        Tests
        -----
        
        Testing is set up using `pytest <http://pytest.org>`__ and coverage is
        handled with the pytest-cov plugin.
        
        Run your tests with ``py.test`` in the root directory.
        
        Coverage is ran by default and is set in the ``pytest.ini`` file. To see
        an html output of coverage open ``htmlcov/index.html`` after running the
        tests.
        
        TODO
        
        Travis CI
        ---------
        
        There is a ``.travis.yml`` file that is set up to run your tests for
        python 2.7 and python 3.2, should you choose to use it.
        
        TODO
        
        .. |Build Status| image:: https://travis-ci.org/alkivi-sas/python-alkivi-logger.svg?branch=master
           :target: https://travis-ci.org/alkivi-sas/python-alkivi-logger
        .. |Requirements Status| image:: https://requires.io/github/alkivi-sas/python-alkivi-logger/requirements.svg?branch=master
           :target: https://requires.io/github/alkivi-sas/python-alkivi-logger/requirements/?branch=master
        
Keywords: alkivi logger
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
