Skip to main content
CircleCI build status

Provide formatters to nicely display colorful logging output on the console.

Fork this project on GitHub

Right now, it contains only one formatter, coloring log lines depending on the log level and adding nice line prefixes containing logger name, but future plans are to add more formatters and allow better ways to customize them.

Installation

pip install nicelog

Quick usage

Since version 0.3, nicelog comes with a helper function to quickly set up logging for basic needs.

from nicelog import setup_logging

setup_logging()

Or, if you want to include debug messages too:

setup_logging(debug=True)

Advanced usage

import logging
import sys

from nicelog.formatters import Colorful

# Setup a logger
logger = logging.getLogger('foo')
logger.setLevel(logging.DEBUG)

# Setup a handler, writing colorful output
# to the console
handler = logging.StreamHandler(sys.stderr)
handler.setFormatter(Colorful())
handler.setLevel(logging.DEBUG)
logger.addHandler(handler)

# Now log some messages..
logger.debug('Debug message')
logger.info('Info message')
logger.warning('Warning message')
logger.error('Error message')
logger.critical('Critical message')
try:
    raise ValueError('This is an exception')
except:
    logger.exception("An error occurred")

Example output

Here it is, in all its glory:

Screenshot

The output format can be further customized, eg. if you want to reduce colorfulness or verbosity.

Integrations

Django

I usually put something like this in my (local) settings:

LOGGING['formatters']['standard'] = {
    '()': 'nicelog.formatters.Colorful',
    'show_date': True,
    'show_function': True,
    'show_filename': True,
    'message_inline': False,
}

Changelog

v0.2

  • More decoupling between “colorer” and “style”

  • Support for pretty tracebacks (colorful + code context + locals)

  • Added some tests

  • Python3 support via six

v0.1.9

  • Replaced strftime(3) conversion specifiers %F and %T aren’t available on all platforms: replaced with long versions %Y-%m-%d and %H:%M:%S.

v0.1.8

  • Prevent failure in case the TERM environment variable is not set (PR #1)

v0.1.7

  • Added support for message_inline argument. If set to False, messages will be displayed on their own line (useful when enabling a lot of information)

v0.1.6

  • Added support for showing more information:

    • record date

    • file name / line number

    • module / function

v0.1.5

  • Added support for nicer colors in 256-color mode

  • Removed dependency from termcolor (now shipping better implementation)

Release files for nicelog 0.3

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

Source distribution (sdist)

Source distribution for nicelog 0.3
File Size Uploaded
nicelog-0.3.tar.gz 9.1 kB Details

Release files / nicelog-0.3.tar.gz

Download URL nicelog-0.3.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4483edd1935a336a96e6634766751502dde08417f010b2296175bbec9febb5fb
BLAKE2b-256 checksum
How to use checksums
151c50cb8e72adc12f2fa4629269389e6502dcfa780eee684aecdcc73e08f132
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0

Release history Release notifications | RSS feed

This release

0.3 This release

1 release file

0.2.1

3 release files

0.2

3 release files

0.1.11

0.1.10

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

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