Skip to main content

A coloured logger for Python

Project description

pypi python license last-commit docs patreon follow linkedin

ColouredLogger

coloured-logger is a Python package that provides a customised logger with coloured output and the ability to set verbosity levels dynamically.

Installation

You can install My Coloured Logger using pip:

pip install coloured-logger

Usage

As all the good loggers you simply use it as the standard logger

from coloured_logger import Logger

logger = Logger(__name__) # Or any other name you want

logger.info("This is an informational message.")
logger.debug("This debug message won't be displayed.")

Colour scheme is customisable by user using the ANSI escape codes for colours. These are typically defined in terms of foreground and background colours, and each color has an associated numeric code. Here is a common mapping:

Colour codes

Most terminals support 8 and 16 colours, as well as 256 (8-bit) colours. These colours are set by the user, but have commonly defined meanings.

8-16 Colours

Colour Name Foreground Colour Code Background Colour Code
Black 30 40
Red 31 41
Green 32 42
Yellow 33 43
Blue 34 44
Magenta 35 45
Cyan 36 46
White 37 47
Default 39 49
Reset 0 0

Note: the Reset colour is the reset code that resets all colours and text effects, Use Default colour to reset colours only.

Most terminals, apart from the basic set of 8 colors, also support the "bright" or "bold" colours. These have their own set of codes, mirroring the normal colours, but with an additional ;1 in their codes:

# Set style to bold, red foreground.
\x1b[1;31mHello
# Set style to dimmed white foreground with red background.
\x1b[2;37;41mWorld

A simplified configuration

The user can simply define a python dictionary in order to change logger colours with a simplified colour scheme.

Configure logger colours

In order to configure the logger colours, the user can use the following code

from coloured_logger import Logger

my_custom_colours = {
    "WARNING": 4,  # Yellow background with blue text
    "INFO": 2,     # Green text
    "DEBUG": 6,    # Cyan text
    "CRITICAL": 1, # Red text
    "ERROR": 5     # Magenta text
}

# This can change the logger level
logger_level = "DEBUG"

logger = Logger(__name__, my_custom_colours, logger_level)

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

coloured-logger-1.0.2.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

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

coloured_logger-1.0.2-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file coloured-logger-1.0.2.tar.gz.

File metadata

  • Download URL: coloured-logger-1.0.2.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for coloured-logger-1.0.2.tar.gz
Algorithm Hash digest
SHA256 893aed13b142bac538d35d718d2472c7cd2248a55b5e92d91ad41885b55e9357
MD5 6377710b555c46d496dcac0ef5311f17
BLAKE2b-256 90c7cea7549f7c4efa52bdb2646a9655fc9d29252d793a29983d6e256a94f14a

See more details on using hashes here.

File details

Details for the file coloured_logger-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for coloured_logger-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7626edc1b12e4ed21a779f1c284684f78e7250acab3a1a1db262306671565b53
MD5 89e6c19c79ce120474d200c96289b532
BLAKE2b-256 cddadca393393ef7d51ef041ec738fc7bc30a74eb7c7267859b984712da2734d

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