Skip to main content

Python logging handler for elastic search.

Project description

python-elastic-logstash

Logstash dynamically ingests, transforms, and ships your data regardless of format or complexity. Derive structure from unstructured data with grok, decipher geo coordinates from IP addresses, anonymize or exclude sensitive fields, and ease overall processing.

Installation

Using pip:

pip install python-elastic-logstash

Features

  1. Sends Python logs in elasticsearch.

  2. Works with Python Django.

  3. Stop tolerance capability.

  4. Overwrite index from custom fields.

If any issues please submit issues in https://github.com/washim/python-elastic-logstash/issues

Usage

For example:

import logging
import sys
from python_elastic_logstash import ElasticHandler, ElasticFormatter

"""
Provide logger name simple without any special character
Logger name will become as Elastic Search Index
"""
logger = logging.getLogger('python-elastic-logstash')
logger.setLevel(logging.DEBUG)

elasticsearch_endpoint = 'http://localhost:9200' # No trailing slash

elastic_handler = ElasticHandler(elasticsearch_endpoint, 'dev')  # Second argument is optional
elastic_handler.setFormatter(ElasticFormatter())

logger.addHandler(elastic_handler)

# Extra is optional.
extra = {
    'elastic_fields': {
        'version': 'python version: ' + repr(sys.version_info)
    }
}

logger.debug("Python elastic logstash configured", extra=extra)

Kibana Create Index Page

https://raw.githubusercontent.com/washim/python-elastic-logstash/master/index.png

Kibana Discover Page

https://raw.githubusercontent.com/washim/python-elastic-logstash/master/discover.png

Using Django

Modify your settings.py

Example:

LOGGING = {
    ...
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'elastic_handler': {
            'level': 'DEBUG',
            'class': 'python_elastic_logstash.ElasticHandler',
            'url': 'http://localhost:9200'
        },
        'console': {
            'class': 'logging.StreamHandler'
        },
    },
    'root': {
        'handlers': ['console'],
        'level': 'WARNING',
    },
    'loggers': {
        'django.request': {
            'handlers': ['elastic_handler'],
            'level': 'DEBUG',
            'propagate': True,
        },
        'python-elastic-logstash': {
            'handlers': ['elastic_handler'],
            'level': 'DEBUG',
            'propagate': True,
        },
    }
    ...
}

Project details


Download files

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

Source Distribution

python_elastic_logstash-2.0.0.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

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

python_elastic_logstash-2.0.0-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file python_elastic_logstash-2.0.0.tar.gz.

File metadata

  • Download URL: python_elastic_logstash-2.0.0.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for python_elastic_logstash-2.0.0.tar.gz
Algorithm Hash digest
SHA256 e504f238e275d3f21f1d1b76b0f79f737d255edb7bbb99032a9b7a31dfa98bd7
MD5 1cca6a0a18a1c35d46f50b38206a2ba3
BLAKE2b-256 82b0ea5677b0a624290ad35400e260466c3aa99f685e6fd83e585075ae82456b

See more details on using hashes here.

File details

Details for the file python_elastic_logstash-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: python_elastic_logstash-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for python_elastic_logstash-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c8375b34a5e6eee640f75b890538ff115e7e168c4100b6106335205b96f1ed7
MD5 0246d4ec2f99f1d75f25081aa85a9e76
BLAKE2b-256 5105bfafc82d61696b15846007637c177010ab0fe96da4d6a8828421f36f8bd5

See more details on using hashes here.

Supported by

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