A collection of structlog processors for prettier output: a code syntax highlighter, JSON and XML prettifiers, a multiline string printer, and a numeric value rounder.

underyx underyx Last update: Mar 24, 2022

structlog-pretty

CI StatusCode Coverage

A collection of structlog processors for prettier output: a code syntaxhighlighter, JSON and XML prettifiers, a multiline string printer, anda numeric value rounder.

Installation

First of all, sorry, grandma, but structlog-pretty requires Python 3.

You can just install the library with pip:

pip install structlog-pretty

or, if you want faster prettifying processors:

pip install structlog-pretty[fast]

The downside of the faster processors is that they will build C extensions andthey need libxml to be installed.

Usage

Add structlog-pretty processors to your structlog configuration

import structlogimport structlog_prettystructlog.configure(    # ...    processors=[        structlog.stdlib.add_log_level,        structlog_pretty.NumericRounder(digits=2, only_fields=['timing'])        structlog.processors.JSONRenderer(),    ],)

A nice example of a processor pipeline for the prettiest logs could be

processors=[    # ...    structlog_pretty.JSONPrettifier(['request', 'response']),    structlog_pretty.XMLPrettifier(['soap_response']),    structlog_pretty.SyntaxHighlighter({'request': 'json', 'response': 'json', 'soap_response': 'xml'}),    structlog_pretty.MultilinePrinter(['request', 'response', 'soap_response']),    # ...],

PRAGMA foreign_keys = off; BEGIN TRANSACTION; COMMIT TRANSACTION; PRAGMA foreign_keys = on;

Subscribe to our newsletter