Skip to main content

json-pyformatter

GitHub Workflow Status GitHub release (latest by date including pre-releases) PyPI - Python Version GitHub

Python logging outputs as JSON.
This JsonFormatter is written in Pure Python.

Installation

pip install json-pyformatter

Usage

import logging
from json_pyformmatter import JsonFormatter

logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
handler = logging.StreamHandler()
fields = ('levelname', 'filename', 'message')
handler.setFormatter(JsonFormatter(fields=fields))
logger.addHandler(hander)

logger.info('hello')

default fields is ('asctime', 'levelname', 'message')
Other supported fields are:

field name description
name Name of the logger (logging channel)
levelno Numeric logging level for the message
(DEBUG, INFO, WARNING, ERROR, CRITICAL)
levelname Text logging level for the message
("DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL")
pathname Full pathname of the source file where the logging call was issued
filename Filename portion of pathname
module Module (name portion of filename)
lineno Source line number where the logging call was issued
funcName Function name
created Time when the LogRecord was created (time.time()return value)
asctime Textual time when the LogRecord was created
msecs Millisecond portion of the creation time
relativeCreated Time in milliseconds when the LogRecord was created, relative to the time the logging module was loaded (typically at application startup time)
thread Thread ID
threadName Thread name
process Process ID
message The result of record.getMessage(), computed just as the record is emitted

In details, please refere to logrecord-attributes

Output

{"levelname": "INFO", "filename": "test_formatter.py", "message": "hello"}

If specify indent option as 2, the result is as follows:

{
  "levelname": "INFO",
  "filename": "test_formatter.py",
  "message": "hello"
}

When exc_info is True, the result includes traceback infomation as follows:

{
  'asctime': '2019-12-01 13:58:34',
  'levelname': 'ERROR',
  'message': 'error occurred !!',
  'traceback': [
    'Traceback (most rec...ll last):',
    'File "/example/test..._exc_info',
    'raise TypeError(message)',
    'TypeError: error occurred !!'
  ]
}

Logging message type is dict:

{
  'asctime': '2019-12-01 23:34:32',
  'levelname': 'INFO',
  'message': {
    'id': '001',
    'msg': 'This is test.',
    'name': 'test'
  }
}

Metadata

Release files for json-pyformatter 0.1.0

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

Source distribution (sdist)

Source distribution for json-pyformatter 0.1.0
File Size Uploaded
json-pyformatter-0.1.0.tar.gz 4.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for json-pyformatter 0.1.0
File Interpreter ABI Platform
json_pyformatter-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.4 kB

Release files / json-pyformatter-0.1.0.tar.gz

Download URL json-pyformatter-0.1.0.tar.gz
Size 4.6 kB
Tags Source
SHA-256 checksum
How to use checksums
006573f9ec788a7e90ed1b1e66b9dd19d55719d76fe7abb28b46ab6889e266f2
BLAKE2b-256 checksum
How to use checksums
df5964fe142209dde4b4dffaee37d9b0435d8bdaa4833a627f3be1150acc717a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/0.12.17 CPython/3.8.0 Linux/5.0.0-1023-azure

Release files / json_pyformatter-0.1.0-py3-none-any.whl

Download URL json_pyformatter-0.1.0-py3-none-any.whl
Size 4.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bebaeb4780815f7897bc9153ee8bee73788d01981530572c2c3418e296622e95
BLAKE2b-256 checksum
How to use checksums
a5234a8c36dd23160d6d9aba1f6b2d52a8d6d149215ff4dde764304de2a26177
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/0.12.17 CPython/3.8.0 Linux/5.0.0-1023-azure

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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