Skip to main content

Python logging formatter for creating log entries in a JSON logstash-friendly format.

Supports renaming of python default logging fields to logstash friendly names (e.g: renaming asctime to @timestamp)

LogstashFormatter can receive the following arguments:

  • fmt, list or tuple containing the fields to include in each entry. Defaults to [“asctime”, “levelname”, “filename”, “funcName”, “msg”, “exc_info”].

  • datefmt, date format string to be passed to formatTime(). Defaults to ISO8601 time format.

  • rename, dictionary containing mapping of { key: new_key } to be renamed. Defaults to { “asctime”: “@timestamp” }.

  • version, version as for the @version attribute used in Logstash. Defaults to “1”.

Sample output

{
  "@timestamp": "2016-09-28T16:24:24,799",
  "@version": "1",
  "exc_info": null,
  "filename": "<ipython-input-21-de248ad5b09c>",
  "funcName": "<module>",
  "levelname": "INFO",
  "message": "This is a normal message to be logged"
}

Usage

Add LogstashFormatter as the formatter of your handler, as usual:

self.logger = logging.getLogger()
self.handler = logging.StreamHandler()
self.handler.setFormatter(LogstashFormatter())
self.logger.addHandler(self.handler)

Using in Django

Include logstash formatter in your settings file:

LOGGING = {
    'formatters': {
        'logstash': {
            '()': 'logstash_formatter.LogstashFormatter',
            'format': ("asctime", "levelname", "name", "lineno", "message",
                       "pathname", "module", "funcName", "process",),
            'datefmt': '%Y-%m-%dT%H:%M:%S',
            'rename': {
                'asctime': '@timestamp',
            },
            'version': '1'
        },
    }
}

Download files

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

Source Distribution

logstash-python-formatter-0.1.2.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

logstash_python_formatter-0.1.2-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file logstash-python-formatter-0.1.2.tar.gz.

File metadata

  • Download URL: logstash-python-formatter-0.1.2.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

File hashes

Hashes for logstash-python-formatter-0.1.2.tar.gz
Algorithm Hash digest
SHA256 87730d89a69185b7ca54942a414a01c66a7f8f74f63bff57587de8fed6bf00a6
MD5 10f367b75d02c4aa6bfd73d294da4a29
BLAKE2b-256 8d74bf92e08db3dc5ecbc367aea5665b81ddfb03a4b22a497ef9159bb9cbaa77

See more details on using hashes here.

File details

Details for the file logstash_python_formatter-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: logstash_python_formatter-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

File hashes

Hashes for logstash_python_formatter-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 85534ada37a9c8580154fa0c955ca13bb6de62d86be134be46c9ee11b06aa6e4
MD5 f919aba757e511ee19a5325f3174f9b8
BLAKE2b-256 e5c559e378b435c19e9a910c4361afa001076a27764d77e0b4b3a120b2d98757

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 files

0.1.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page