--- id: opensearch-logger version: "1.3.1" license: Copyright 2021-2025 Vagiz Duseev Forked from https://github.com/IMInterne/python-elasticsearch-ecs-logger Copyright 2020 InnovMetric Software Forked from… (full text in the JSON record) license_treatment: permissive maintenance: aging --- # opensearch-logger — OpenSearch logging handler License: permissive · Maintenance: aging · Downloads: 154.6K/mo ## What it is and what it does opensearch-logger is a Python logging handler that integrates directly with OpenSearch, bypassing the need for log aggregation middleware like Fluentd or Logstash. It formats all log records according to the Elastic Common Schema (ECS) standard, making logs searchable and aggregatable in OpenSearch. The handler buffers log records and flushes them in batches, with configurable buffer size and flush frequency to balance throughput and latency. The library has been in production use since OpenSearch 1.0 and supports modern Python versions (3.9 through 3.13). It integrates with Python's standard logging module, allowing you to add it as a handler to any logger and configure it via logging.config or Django settings. It supports multiple authentication methods including basic auth, AWS IAM, and Kerberos, and can index into either traditional indices with date-based rotation or OpenSearch data streams. Use it for: - Centralize application logs from Python services directly into OpenSearch for real-time search and analysis without separate log aggregation infrastructure. - Index structured log records with custom fields via the extra parameter to make application metrics searchable and aggregatable in OpenSearch. - Configure logging via Django settings or logging.config to send application logs to OpenSearch alongside file or console handlers. - Authenticate to AWS OpenSearch domains using IAM credentials or connect to Kerberos-protected OpenSearch clusters without proxy layers. - Use data streams for log indexing to let OpenSearch manage index rollover automatically, simplifying operational overhead for high-volume logging. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides a Python logging handler that sends log records directly to OpenSearch, formatting them according to the Elastic Common Schema (ECS) standard without requiring middleware. Yes. The package is production-stable (marked as such since 2021), has no known vulnerabilities, low install friction, and solves a clear problem—direct Python-to-OpenSearch logging without middleware. The aging maintenance status (366 days since release) is mitigated by a recent repository commit on 2025-08-13. Install it if you need to send Python logs to OpenSearch and want to avoid Fluentd or Logstash. ## Install pip install opensearch-logger uv add opensearch-logger poetry add opensearch-logger ## Installing opensearch-logger Before you install: Low install friction; depends only on opensearch-py. Marked as aging (366 days since last release), but repository is active with a recent commit on 2025-08-13 and no known vulnerabilities. License in practice: Apache License 2.0 (permissive). You may use, modify, and distribute this package freely in commercial and private projects, provided you include the license notice and state significant changes. Quickstart: pip install opensearch-logger import logging from opensearch_logger import OpenSearchHandler handler = OpenSearchHandler( index_name="my-logs", hosts=["https://localhost:9200"], http_auth=("admin", "admin"), use_ssl=True, verify_certs=False ) logger = logging.getLogger(__name__) logger.addHandler(handler) logger.info("Message indexed to OpenSearch") Requires an accessible OpenSearch instance; at least one connection parameter (e.g., hosts) must be provided to the handler constructor. Verify before relying: - Performance characteristics under high log volume or with large buffer sizes - Compatibility with OpenSearch versions beyond 1.0 (stated as production-tested since OpenSearch 1.0 release) ## Package facts - License: Copyright 2021-2025 Vagiz Duseev Forked from https://github.com/IMInterne/python-elasticsearch-ecs-logger Copyright 2020 InnovMetric Software Forked from… (full text in the JSON record) (permissive) - Python support: supports_current - Install friction: low - Maintenance: aging - Downloads: 154.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags opensearch logging handler, send python logs to opensearch, ecs formatted logging, opensearch python integration, direct opensearch log indexing, python logging to opensearch, opensearch handler, opensearch, ecs-logging, log-handler [View on SkillFed](https://skillfed.io/packages/opensearch-logger) · [View on PyPI](https://pypi.org/project/opensearch-logger/)