Python formatter for working with Logstash json filters.
Project description
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'
},
}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
87730d89a69185b7ca54942a414a01c66a7f8f74f63bff57587de8fed6bf00a6
|
|
MD5 |
10f367b75d02c4aa6bfd73d294da4a29
|
|
BLAKE2b-256 |
8d74bf92e08db3dc5ecbc367aea5665b81ddfb03a4b22a497ef9159bb9cbaa77
|
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
85534ada37a9c8580154fa0c955ca13bb6de62d86be134be46c9ee11b06aa6e4
|
|
MD5 |
f919aba757e511ee19a5325f3174f9b8
|
|
BLAKE2b-256 |
e5c559e378b435c19e9a910c4361afa001076a27764d77e0b4b3a120b2d98757
|