Skip to content

๐ŸŒˆ A flexible and minimal Python logging utility that adds colorful, readable log output to your terminal.

License

Notifications You must be signed in to change notification settings

NLPOptimize/rainbow_logging

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒˆ 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")

About

๐ŸŒˆ A flexible and minimal Python logging utility that adds colorful, readable log output to your terminal.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published