{ "info": { "author": "LogDNA Inc.", "author_email": "help@logdna.com", "bugtrack_url": null, "classifiers": [], "description": "
\n \n
\n \n
Python package for logging to LogDNA
\n\n\n---\n\n* **[Install](#install)**\n* **[Setup](#setup)**\n* **[Usage](#usage)**\n* **[API](#api)**\n* **[License](#license)**\n\n\n## Install\n\n```bash\n$ pip install logdna\n```\n\n## Setup\n```python\nimport logging\nfrom logdna import LogDNAHandler\n\nkey = 'YOUR INGESTION KEY HERE'\n\nlog = logging.getLogger('logdna')\nlog.setLevel(logging.INFO)\n\noptions = {\n 'hostname': 'pytest',\n 'ip': '10.0.1.1',\n 'mac': 'C0:FF:EE:C0:FF:EE'\n}\n\n# Defaults to false, when true ensures meta object will be searchable\noptions['index_meta'] = True\n\ntest = LogDNAHandler(key, options)\n\nlog.addHandler(test)\n\nlog.warn(\"Warning message\", {'app': 'bloop'})\nlog.info(\"Info message\")\n\n```\n_**Required**_\n* [LogDNA Ingestion Key](https://app.logdna.com/manage/profile)\n\n_**Optional**_\n* Hostname - *(String)* - max length 32 chars\n* MAC Address - *(String)*\n* IP Address - *(String)*\n* Max Length - *(Boolean)* - formatted as options['max_length']\n* Index Meta - *(Boolean)* - formatted as options['index_meta']\n\n## Usage\n\nAfter initial setup, logging is as easy as:\n```python\n# Simplest use case\nlog.info('My Sample Log Line')\n\n# Add a custom level\nlog.info('My Sample Log Line', { 'level': 'MyCustomLevel' })\n\n# Include an App name with this specific log\nlog.info('My Sample Log Line', { 'level': 'Warn', 'app': 'myAppName'})\n\n# Pass any associated objects along as metadata\nmeta = {\n 'foo': 'bar',\n 'nested': {\n 'nest1': 'nested text'\n }\n}\n\nopts = {\n 'level': 'warn',\n 'meta': meta\n}\n\nlog.info('My Sample Log Line', opts)\n```\n\n### Usage with File Config\n\nTo use `LogDNAHandler` with [`fileConfig`](https://docs.python.org/2/library/logging.config.html#logging.config.fileConfig) (e.g., in a Django `settings.py` file):\n\n```python\nimport os\nimport logging\nfrom logdna import LogDNAHandler # required to register `logging.handlers.LogDNAHandler`\n\nLOGGING = {\n # Other logging settings...\n 'handlers': {\n 'logdna': {\n 'level': logging.DEBUG,\n 'class': 'logging.handlers.LogDNAHandler',\n 'key': os.environ.get('LOGDNA_INGEST_KEY'),\n 'options': {\n 'app': '