Skip to main content

Consume logs by block in async application

Project description

Code style: black

Installation

pip install futurelog

Usage

Introduction

The goal of this library is to provide a way to defer logs and consume (print) them when needed, in an async application.

For instance, it would perfectly fit a config deployer in async. It would help to keep messages grouped by servers.

Usage should be limited to reporting and not error/exception logging. Also you should ensure you catch all possible exception in your program in your entrypoint, in order to consume all logs before exiting your application.

Create a logger

from futurelog import FutureLogger

future_logger = FutureLogger(__name__)

Register logs

The methods supported are: .debug(), .info(), .warning(), .error(), .critical()

future_logger.debug(topic, msg)

Example:

future_logger.debug("server1", "deploying stuff 1")
future_logger.error("server1", "failed")
future_logger.debug("server2", "deploying stuff 1")
future_logger.warning("server2", "success")

Consume logs

One specific logger

logger.consume(topic)

Example:

future_logger.consume("server1")
future_logger.consume("server2")

All loggers for a topic (one for each module)

FutureLogger.consume_all_logger_for(topic)
FutureLogger.consume_all_logger_for("server1")
FutureLogger.consume_all_logger_for("server2")

All unconsumed logger

FutureLogger.consume_all_logger()

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

FutureLog-0.1.1.tar.gz (4.0 kB view hashes)

Uploaded Source

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