Skip to main content

Python logger used at Alkivi

Project description

Build Status Requirements Status

Python logger used at Alkivi

Package

Example

import logging

from alkivi.logger import Logger

#
# Define Logger
#
logger = Logger(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=['youremail@example.org'],
                use_root_logger=False) # If set to True will use root_logger

#
# 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')

Parameters

Tests

Testing is set up using pytest 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alkivi_logger-1.2.5-py2.py3-none-any.whl (9.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file alkivi_logger-1.2.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for alkivi_logger-1.2.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 69aa00494d55ea23be0e6d5f8c346f00a3531e51422ad602d8852d3d9a174a58
MD5 e5f284b9b98fa25f8019c3a72adc72cf
BLAKE2b-256 775b19f61d6ff2dddd2d6439884b0d85da8a87e180f88aebf5faa140d5cb9e22

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page