Skip to main content

python logging on steroids, lightweight and convenient

Project description


Life is too short. Use nanolog to make logging and printing simpler!

nanolog features a convenient logger API built on top of python’s builtin logging.

The library also ships with many printing utilities. Python 3 only.


From stable package on PyPI

pip install nanolog

From bleeding edge master branch

pip install git+git://


import nanolog as nl

logger = nl.Logger.create_logger(
)'my', 3, 'world', 1/16.)  # just like print
# >>> my 3 world 0.0625

logger.warningfmt('{}, we are {:.3f} miles from {planet}',
                  'Houston', 17/7, planet='Mars')  # just like str.format
# >>> Houston, we are 2.429 miles from Mars

Use a trailing number to indicate level, the larger the higher priority

logger.info7(...)  # info level 7
logger.errorfmt8(...)  # error level 8

Display a banner line or block

logger.infobanner3('my', 3, 'world', symbol='!', banner_len=16, banner_lines=3)


!!!!!!!! my 3 world !!!!!!!!

Of course, banner method also comes with a str.format version

    '{3}&{0}&{2}&{1}', 'a', 'b', 'c', 'd',
    symbol='<*_*>', banner_len=16, banner_lines=6


<*_*><*_ d&a&c&b <*_*><*_

Prettyprint support (uses the thirdparty lib prettyprinter)

logger.warningppfmt('my warning {:.3f} format {:.2f} string', 1/7., 1/9.)

Logger config


Time formatting


Printing utililites


Better alternatives for the pprint module in python standard lib.

  • pprint: takes variable number of objects, just like print()
  • pprintstr: return string instead of printing to IO stream
  • pprintfmt: just like print('...'.format)
  • pprintfmtstr: return string instead of printing to IO stream

Convenient aliases (pp stands for prettyprint; a single p means normal print)

short original
pf printfmt
pferr printfmterr
pstr printstr
perr printerr
pp pprint
ppstr pprintstr
ppf pprintfmt
ppfstr pprintfmtstr

TODO: talk about global configs

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for nanolog, version 0.1.2.post1
Filename, size File type Python version Upload date Hashes
Filename, size nanolog-0.1.2.post1-py3-none-any.whl (16.4 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size nanolog-0.1.2.post1.tar.gz (14.4 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page