Skip to content
/ sclog Public

Python logging helper with convenient defaults and colorized output for the logs

License

Notifications You must be signed in to change notification settings

nmalkin/sclog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sclog - simple colorized log

Rationale

Python has a pretty convenient logging framework built-in, which makes it super easy to get started:

import logging

logging.warning("That was easy")

Or, if you have a few different files in your project and want to distinguish between them:

import logging

logger = logging.getLogger(__name__)

logger.error("Uh oh, something bad happened")

But, there are a few annoyances.

First, as the documentation explains, debug and info messages aren't shown with the default log level. Want to add a quick logging.debug message to your scripts? You'll need to configure a log formatter first.

Second, the default log formatting is missing some information like the timestamp. The default output looks something like this:

WARNING:root:your warning message

...and if you want it to look differently, you again need a custom formatter.

This library

This library exists, to be honest, for my own convenience. Its purpose it to provide some useful (to me) defaults as a very light-weight layer on top of Python's default logging framework. Specifically, it:

  1. Sets the default log level to DEBUG
  2. Uses a formatter that includes the timestamp
  3. (Optionally) colorizes the output using colorlog (another task that normally requires creating a custom formatter)

Usage

The "API" for this library is meant to be maximally compatible with the built-in logging API. Like Python's logging module, it exposes a getLogger function that you call with a string (the name). This returns a standard Logger object that you use in a familiar way.

from sclog import getLogger

logger = getLogger(__name__)

logger.info("Hello, %s!", "world")

This outputs (in a nice green color):

2021-01-01 00:00:00:00,000 - __main__ - DEBUG - Hello, world!

Installation

pip install sclog
pip install colorlog  # optional, include if you want colors

You can also just copy the file into your own project.

About

Python logging helper with convenient defaults and colorized output for the logs

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages