Skip to main content

A simple, easy to use python logging framework that builds on top of the built-in logger module

Project description

LogTale - A python logging framework

A simple, easy to use logging framework that builds on top of the built-in logger module.

PyPI - Version GitHub release (with filter)

Installation

pip install logtale

Usage

Simple Usage:

import logtale.logtale as tale


def main():
    logtale = tale.LogTale("example", "./example.toml")
    logger = logtale.logger(__name__)

    logger.debug("test - debug")
    logger.info("test - info")
    logger.warning("test - warning")
    logger.error("test - error")
    logger.critical("test - critical")

if __name__ == "__main__":
    main()

Prepend/Postpend text to the log message:

logger.addFilter(filter.LogAppendFilter(prepend_text="ExamplePrepend"))
logger.addFilter(filter.LogAppendFilter(postpend_text="ExamplePostpend"))

Configuration File

Create a configuration file for logging settings using the templates/config_template.toml file as a template.

[output.colors]
# Set the colors associated with each debug level.
# Colors are only applied for logs printed to the console.
# The logging color feature can be enabled/disabled in '[output.console]' section.
DEBUG = '\033[1;36m'
INFO = '\033[1;38m'
WARNING = '\033[1;33m'
ERROR = '\033[1;35m'
CRITICAL = '\033[1;31m'

[output.file]
enable = true # enable/disable logging to a .log file (default=true)
level = "DEBUG" # the base log level for logging to a file (default=DEBUG)
path = "logs/" # the directory to create log files in (default=logs/)
format = "(%(asctime)s)[%(name)s][%(levelname)s]::%(message)s" # the log message format to use for file logging
name = "example.log" # the naming scheme of the log file, by default it's '<project_name>_<version>_<timestamp>.log'

[output.console]
enable = true # enable/disable logging to the console (default=true)
level = "DEBUG" # the base log level for logging to the console (default=DEBUG)
format = "[%(levelname)s]::%(message)s" # the log message format to use for console logging
use_colors = true # enable/disable the use of colors for log levels. colors can be customized in '[output.colors]' section.

Examples

Check the examples directory for example scripts and configuration files.

# ./examples/example.py
import logtale.logtale as tale
import logtale.filter as filter


def main():
    logtale = tale.LogTale("example", "./example.toml")
    logger = logtale.logger(__name__)
    logger.addFilter(filter.LogAppendFilter(prepend_text="ExamplePrepend"))

    logger.debug("test - debug")
    logger.info("test - info")
    logger.warning("test - warning")
    logger.error("test - error")
    logger.critical("test - critical")

if __name__ == "__main__":
    main()

Example log console output

example console output image

Example log file output

example file output image

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

logtale-0.0.11.tar.gz (109.7 kB view hashes)

Uploaded Source

Built Distribution

logtale-0.0.11-py3-none-any.whl (17.5 kB view hashes)

Uploaded Python 3

Supported by

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