ElasticSearch components for Pip.Services in Python
Project description
ElasticSearch components for Python
This module is a part of the Pip.Services polyglot microservices toolkit.
The Elasticsearch module contains logging components with data storage on the Elasticsearch server.
The module contains the following packages:
- Build - contains a factory for the construction of components
- Log - Logging components
Use
Install the Python package as
pip install pip-services3-elasticsearch
Microservice components shall perform logging usual way using CompositeLogger component. The CompositeLogger will get ElasticSearchLogger from references and will redirect log messages there among other destinations.
from pip_services3_commons.config import IConfigurable
from pip_services3_commons.refer import IReferenceable
from pip_services3_components.log import CompositeLogger
class MyComponent(IConfigurable, IReferenceable):
def __init__(self):
super(MyComponent, self).__init__()
self.__logger = CompositeLogger()
def configure(self, config):
self.__logger.configure(config)
def set_references(self, references):
self.__logger.set_references(references)
def my_method(self, correlation_id, param1):
self.__logger.trace(correlation_id, 'Executed method mycomponent.mymethod')
# ...
Configuration for your microservice that includes ElasticSearch logger may look the following way.
...
{{#if ELASTICSEARCH_ENABLED}}
- descriptor: pip-services:logger:elasticsearch:default:1.0
connection:
uri: {{{ELASTICSEARCG_SERVICE_URI}}}
host: {{{ELASTICSEARCH_SERVICE_HOST}}}{{#unless ELASTICSEARCH_SERVICE_HOST}}localhost{{/unless}}
port: {{ELASTICSEARCG_SERVICE_PORT}}{{#unless ELASTICSEARCH_SERVICE_PORT}}9200{{/unless}}\
{{/if}}
...
Develop
For development you shall install the following prerequisites:
- Python 3.7+
- Visual Studio Code or another IDE of your choice
- Docker
Install dependencies:
pip install -r requirements.txt
Run automated tests:
python test.py
Generate API documentation:
./docgen.ps1
Before committing changes run dockerized build and test as:
./build.ps1
./test.ps1
./clear.ps1
Contacts
The library is created and maintained by Sergey Seroukhov.
The documentation is written by:
- Mark Makarychev
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
Hashes for pip_services3_elasticsearch-3.0.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab70c128aa6a463d9d439a09a9e2a5921fbf0533d4d1b4359f3520d29933c908 |
|
MD5 | e2dff77eb38fcce0a78f78d06f458227 |
|
BLAKE2b-256 | 8aec0172b0aa6ab7230133e1a1d23d44693c20122a5a7381559f287d4fe85813 |