Skip to main content

🌈 A flexible and minimal Python logging utility that adds colorful, readable log output to your terminal.

Installation

pip install rainbow_logging

Usage

To import both the rainbow_logging and the basic logging module, you can use the following import statements:

from rainbow_logging import LoggingConfig, Timezone, verify
import logging

LoggingConfig is a class that configures how logging output will be displayed. It can be used as shown below:

LoggingConfig.set_level(LoggingConfig.DEBUG).thread_name(True).traceback(False).asctime(True).finish(Timezone.Asia.Seoul)
  • LoggingConfig

    • levelname: If set to True, the logging level will be displayed. If False, it will be omitted.
    • asctime: If set to True, timestamp information will be included. If False, it will be omitted.
    • thread_name: If set to True, it will display each thread individually in a multi-threaded environment. If False, output will be the same across threads.
    • set_level: Determines from which level logs will be displayed. The following values can be used: LoggingConfig.DEBUG, LoggingConfig.INFO, LoggingInfo.WARNING, LoggingInfo.ERROR, LoggingInfo.CRITICAL
    • traceback: If True, traceback information will be displayed when a CRITICAL level log occurs.
    • save_file: If a filename is provided, logs will be saved to the file in addition to being output to stdout.
    • finish: Takes a Timezone as an argument and completes all configurations. (This must be called at the end for all settings to be applied.)
  • Timezone

    • This class is used as an argument for LoggingConfig, for example: Timezone.America.Cambridge_Bay

Example

from rainbow_logging import LoggingConfig, Timezone, verify
import logging

if __name__ == '__main__':
    LoggingConfig.set_level(LoggingConfig.DEBUG).thread_name(True).traceback(False).asctime(True).finish(Timezone.Asia.Seoul)
    logging.debug('This message is a log message.')
    logging.info('This message is a log message.')
    logging.warning('This message is a log message.')
    logging.error('This message is a log message.')
    logging.critical('This message is a log message.')

    verify("1 > 2")

Metadata

Release files for rainbow-logging 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rainbow-logging 0.0.1
File Size Uploaded
rainbow_logging-0.0.1.tar.gz 11.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rainbow-logging 0.0.1
File Interpreter ABI Platform
rainbow_logging-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 23.1 kB

Release files / rainbow_logging-0.0.1.tar.gz

Download URL rainbow_logging-0.0.1.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
3a0bb7b38be4f11a51e7b363a8be63d3c355c50f64bffb57721957131ed1fe6c
BLAKE2b-256 checksum
How to use checksums
0de19a756e94f282d2dc808aad4e7e7e408b1684189962b343dcca97216149a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.2

Release files / rainbow_logging-0.0.1-py3-none-any.whl

Download URL rainbow_logging-0.0.1-py3-none-any.whl
Size 11.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
051ed9685d5e660edd30a7f118803068375bd6d1650213cb1d5a7b8b21a5adae
BLAKE2b-256 checksum
How to use checksums
1fcf0475ac2871eef41cdc481556acc1aeab8f5361fa28b3170d44b443efc66c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page