/sprawl

Python utility package for louder logging

Primary LanguagePython

Sprawl

A utility package for printing formatted, colorized log messages.

Why?

Sometimes we fall back to good ol' print-driven development ("PDD") when we need to inspect values at runtime. It can be annoying to search through a terminal window filled with other logs to find the one log statement you're looking for. This makes it easy for your log messages to stand out.

Installation

$ pip install sprawl

Usage

Import the log function:

from sprawl.loud_log import log

Configure logging however you normally would, for example:

logging.basicConfig(format='%(asctime)s \n %(message)s', level=logging.INFO)

log a message using the defaults:

log('my log message')

prints:

##################################
 my log message
##################################

Center the log message:

log('my log message', center_message=True)

prints:

##################################
           my log message
##################################

Change the surrounding character:

log('my log message', center_message=True, char_to_surround_with='~')

prints:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           my log message
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Add some color:

log('my log message', center_message=True, color='yellow')

prints:

Screen Shot 2019-12-11 at 8 55 38 PM

Log the name of the function or module from within which this log() was called

def my_amazing_function():
    log('my log message', center_message=True, print_func_name=True)
    
my_amazing_function()

prints:

log called from my_amazing_function
#################################
           my log message
#################################