{"library":"opensearch-logger","title":"OpenSearch Logger","description":"The `opensearch-logger` library provides a logging handler for Python's standard `logging` module, allowing applications to easily send logs to an OpenSearch cluster. It leverages the `opensearch-py` client for reliable communication. Currently at version 1.3.1, it primarily focuses on bug fixes and minor enhancements within its 1.x release cycle, maintaining compatibility.","language":"python","status":"active","last_verified":"Fri Apr 17","install":{"commands":["pip install opensearch-logger"],"cli":null},"imports":["from opensearch_logger import OpenSearchHandler"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import logging\nimport os\nfrom opensearch_logger import OpenSearchHandler\n\n# Configure logging\nlogger = logging.getLogger(\"my_app\")\nlogger.setLevel(logging.INFO)\n\n# OpenSearch connection details (use environment variables for production)\nhost = os.environ.get('OPENSEARCH_HOST', 'localhost')\nport = int(os.environ.get('OPENSEARCH_PORT', 9200))\nusername = os.environ.get('OPENSEARCH_USERNAME', 'admin') # Default user for OpenSearch/Dashboards\npassword = os.environ.get('OPENSEARCH_PASSWORD', 'admin') # Default pass for OpenSearch/Dashboards\n\n# Handler configuration\ntry:\n    handler = OpenSearchHandler(\n        host=[{'host': host, 'port': port}],\n        http_auth=(username, password), # Required for authenticated clusters\n        use_ssl=True, # Recommended for production; set to False for local http\n        verify_certs=True, # Recommended; set to False for self-signed certs in dev\n        # ssl_assert_hostname=False, # Often needed for dev/test with IP/localhost\n        # ssl_show_warn=False, # Suppress SSL warnings if verify_certs=False\n        index_name='python-app-logs', # Custom index name\n        # auto_create_index=True # Default is True, handler creates index if it doesn't exist\n    )\n    # Add the handler to the logger\n    logger.addHandler(handler)\n\n    # Log some messages\n    logger.info(\"This is an informational message from my application.\")\n    logger.warning(\"A warning occurred: something unexpected happened.\")\n    try:\n        1 / 0\n    except ZeroDivisionError:\n        logger.exception(\"An error occurred during division.\")\n    \n    print(f\"Logs sent to OpenSearch at {host}:{port}\")\n    print(\"Check your OpenSearch instance for 'python-app-logs' index.\")\n\nexcept Exception as e:\n    print(f\"Failed to configure OpenSearch logger: {e}\")\n    print(\"Ensure OpenSearch is running and accessible with correct credentials/settings.\")","lang":"python","description":"This quickstart configures a Python logger to send INFO, WARNING, and ERROR messages to an OpenSearch instance. It demonstrates how to initialize the `OpenSearchHandler` with connection details, including host, port, and basic authentication using environment variables for sensitive data, and adds it to a standard Python logger.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}