{ "info": { "author": "Pierre-Yves Ritschard", "author_email": "pierre-yves.ritschard@exoscale.ch", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3" ], "description": "logstash_formatter: JSON logs for logstash\n==========================================\n\nThis library is provided to allow standard python logging to output log data\nas json objects ready to be shipped out to logstash.\n\nThis project has been originally open sourced by `exoscale `_ (which is a great hosting service btw), thanks to them.\n\nInstalling\n----------\nPip (`PyPI`_)::\n\n pip install logstash_formatter\n\n.. _PyPI: https://pypi.python.org/pypi/logstash_formatter\n\nManual::\n\n python setup.py install\n\nUsage\n-----\n\nJson outputs are provided by the LogstashFormatter logging formatter.\n\n::\n\n import logging\n from logstash_formatter import LogstashFormatterV1\n\n logger = logging.getLogger()\n handler = logging.StreamHandler()\n formatter = LogstashFormatterV1()\n\n handler.setFormatter(formatter)\n logger.addHandler(handler)\n\nThe LogstashFormatter may take the following named parameters:\n\n* ``fmt``: Config as a JSON string that supports:\n\n * ``extra``: provide extra fields always present in logs.\n * ``source_host``: override source host name.\n\n* ``json_cls``: JSON encoder to forward to ``json.dump``.\n* ``json_default``: Default JSON representation for unknown types,\n by default coerce everything to a string.\n\n``LogstashFormatterV1`` adheres to the more 1.2.0 schema and will not update\nfields, apart from a special handling of ``msg`` which will be updated to\n``message`` when applicable.\n\nYou can also add extra fields to your json output by specifying a dict in place of message, or by specifying\nthe named argument ``extra`` as a dictionary. When supplying the ``exc_info`` named argument with a truthy value,\nand if an exception is found on the stack, its traceback will be attached to the payload as well.\n\n::\n\n logger.info({\"account\": 123, \"ip\": \"172.20.19.18\"})\n logger.info(\"classic message for account: {account}\", extra={\"account\": account})\n \n try:\n h = {}\n h['key']\n except:\n logger.info(\"something unexpected happened\", exc_info=True)\n\nSample output for LogstashFormatter\n-----------------------------------\n\nThe following keys will be found in the output JSON:\n\n* ``@source_host``: source hostname for the log\n* ``@timestamp``: ISO 8601 timestamp\n* ``@message``: short message for this log\n* ``@fields``: all extra fields\n\n::\n\n {\n \"@fields\": {\n \"account\": \"pyr\",\n \"args\": [],\n \"created\": 1367480388.013037,\n \"exception\": [\n \"Traceback (most recent call last):\\n\",\n \" File \\\"test.py\\\", line 16, in \\n k['unknown']\\n\",\n \"KeyError: 'unknown'\\n\"\n ],\n \"filename\": \"test.py\",\n \"funcName\": \"\",\n \"levelname\": \"WARNING\",\n \"levelno\": 30,\n \"lineno\": 18,\n \"module\": \"test\",\n \"msecs\": 13.036966323852539,\n \"name\": \"root\",\n \"pathname\": \"test.py\",\n \"process\": 1819,\n \"processName\": \"MainProcess\",\n \"relativeCreated\": 18.002986907958984,\n \"thread\": 140060726359808,\n \"threadName\": \"MainThread\"\n },\n \"@message\": \"TEST\",\n \"@source_host\": \"phoenix.spootnik.org\",\n \"@timestamp\": \"2013-05-02T09:39:48.013158\"\n }\n\n\nSample output for LogstashFormatterV1\n-------------------------------------\n\nThe following keys will be found in the output JSON:\n\n* ``@timestamp``: ISO 8601 timestamp\n* ``@version``: Version of the schema\n\n::\n\n {\"@version\": 1,\n \"account\": \"pyr\",\n \"lineno\": 1,\n \"levelno\": 30,\n \"filename\": \"test.py\",\n \"thread\": 140566036444928,\n \"@timestamp\": \"2015-03-30T09:46:23.000Z\",\n \"threadName\": \"MainThread\",\n \"relativeCreated\": 51079.52117919922,\n \"process\": 10787,\n \"source_host\": \"phoenix.spootnik.org\",\n \"processName\": \"MainProcess\",\n \"pathname\": \"test.py\",\n \"args\": [],\n \"module\": \"test\",\n \"msecs\": 999.9005794525146,\n \"created\": 1427708782.9999006,\n \"name\": \"root\",\n \"stack_info\": null,\n \"funcName\": \"\",\n \"levelname\": \"WARNING\",\n \"message\": \"foo\"}\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/exoscale/python-logstash-formatter", "keywords": "", "license": "MIT, see LICENSE file", "maintainer": "", "maintainer_email": "", "name": "logstash_formatter", "package_url": "https://pypi.org/project/logstash_formatter/", "platform": "", "project_url": "https://pypi.org/project/logstash_formatter/", "project_urls": { "Homepage": "https://github.com/exoscale/python-logstash-formatter" }, "release_url": "https://pypi.org/project/logstash_formatter/0.5.17/", "requires_dist": null, "requires_python": "", "summary": "JSON formatter meant for logstash", "version": "0.5.17" }, "last_serial": 3578941, "releases": { "0.5.11": [ { "comment_text": "", "digests": { "md5": "531fc7f8ab386c710f807282cc28f55d", "sha256": "7f2a6a3d6834407554704bd77d9ed7a8ef61c7630990c5ce175057da4e5781a6" }, "downloads": -1, "filename": "logstash_formatter-0.5.11.tar.gz", "has_sig": false, "md5_digest": "531fc7f8ab386c710f807282cc28f55d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3906, "upload_time": "2015-03-30T07:52:02", "url": "https://files.pythonhosted.org/packages/1d/16/5a951fffaeb6eb1ad1e83158d02e65ba5703a66954373071ae104c035a3a/logstash_formatter-0.5.11.tar.gz" } ], "0.5.12": [ { "comment_text": "", "digests": { "md5": "62bb5d746f4bf4aa633b714d9791b21b", "sha256": "99e61b1afb2d19163f19210a4c3bd12580f68ba6022e626fb5dcb3b222a9e8d7" }, "downloads": -1, "filename": "logstash_formatter-0.5.12.tar.gz", "has_sig": false, "md5_digest": "62bb5d746f4bf4aa633b714d9791b21b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4392, "upload_time": "2015-03-30T09:50:59", "url": "https://files.pythonhosted.org/packages/a7/42/09de18b25aff73f48b989ccc77267da0200c1abb3c0a3d76458313f222d0/logstash_formatter-0.5.12.tar.gz" } ], "0.5.13": [ { "comment_text": "", "digests": { "md5": "56f0b69277cd3dde332382da863626e6", "sha256": "e8a37ebc53048f20ec30312a33bc1d01bbccc57dfe9071544c39c922330d8b44" }, "downloads": -1, "filename": "logstash_formatter-0.5.13.tar.gz", "has_sig": false, "md5_digest": "56f0b69277cd3dde332382da863626e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4436, "upload_time": "2015-03-31T12:52:08", "url": "https://files.pythonhosted.org/packages/ad/17/203c432e64f1d7958b69a96725962ef617fceca34c3c775950eb682b2dc4/logstash_formatter-0.5.13.tar.gz" } ], "0.5.14": [ { "comment_text": "", "digests": { "md5": "3ec370f6eac93ebc7b9eed13f78eb7c8", "sha256": "203abd04f7a86676113c37e0a704a41be5b2d5963365456d3b5e1379976144f6" }, "downloads": -1, "filename": "logstash_formatter-0.5.14.tar.gz", "has_sig": false, "md5_digest": "3ec370f6eac93ebc7b9eed13f78eb7c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4435, "upload_time": "2015-03-31T12:54:11", "url": "https://files.pythonhosted.org/packages/58/cf/d313a59278190ce25f0bff21afd8588067b468ea1d38ae50cb7d4a6589fd/logstash_formatter-0.5.14.tar.gz" } ], "0.5.15": [ { "comment_text": "", "digests": { "md5": "fceddde9095b21b24eacd201b61d45ae", "sha256": "576cdaeaf85b46f4376b4b20be19789b6c301131d7b0172ff7b982bac8d0799c" }, "downloads": -1, "filename": "logstash_formatter-0.5.15-py3-none-any.whl", "has_sig": false, "md5_digest": "fceddde9095b21b24eacd201b61d45ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6974, "upload_time": "2016-05-25T08:52:50", "url": "https://files.pythonhosted.org/packages/78/5d/8dd89adbb2af78e0456b53846c2c406cd6dd1b2c6ab681b44b83ff042c57/logstash_formatter-0.5.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee70e94cc40fe4fa3d9fcc6b1ac1b22d", "sha256": "2c8c69821f605c790335283469effbe9e075a5c926570d85b7a6032354e7181f" }, "downloads": -1, "filename": "logstash_formatter-0.5.15.tar.gz", "has_sig": false, "md5_digest": "ee70e94cc40fe4fa3d9fcc6b1ac1b22d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4443, "upload_time": "2016-05-25T08:53:22", "url": "https://files.pythonhosted.org/packages/f4/cf/9431705f0d7718faa57e91f1a5bfdff65115bba0fffcc2e35ab8f7017340/logstash_formatter-0.5.15.tar.gz" } ], "0.5.16": [ { "comment_text": "", "digests": { "md5": "f0afbd2fb2defa70199f80fcd5568106", "sha256": "9d9bff5a03a303e8af0a06718c02e4d93c683bb122ab40db712f87e4d0c1defd" }, "downloads": -1, "filename": "logstash_formatter-0.5.16-py3-none-any.whl", "has_sig": false, "md5_digest": "f0afbd2fb2defa70199f80fcd5568106", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6983, "upload_time": "2016-09-07T14:13:23", "url": "https://files.pythonhosted.org/packages/ed/61/cbee6744b01418abdb2c7f81ed0d544a3389a578eb4d03a4b93576f8f425/logstash_formatter-0.5.16-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "771c126a92e296b4d50a5054a68023a8", "sha256": "f5495d1bc17face9ee1b5f6e07e20f203e4ebc5535ec3abead6c0b60818cc6ea" }, "downloads": -1, "filename": "logstash_formatter-0.5.16.tar.gz", "has_sig": false, "md5_digest": "771c126a92e296b4d50a5054a68023a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4469, "upload_time": "2016-09-07T14:13:26", "url": "https://files.pythonhosted.org/packages/82/df/f7630c261ec5eb364b1a8cd21dc35b44c3ef46da4b6e98b324b624eb8932/logstash_formatter-0.5.16.tar.gz" } ], "0.5.17": [ { "comment_text": "", "digests": { "md5": "1e425aad91a76fd8a08aeb3f11d2e32a", "sha256": "163f5ef62df5459f1d36dcb54e9c3f8f0c90157a324a3361887532b615bf4fb9" }, "downloads": -1, "filename": "logstash_formatter-0.5.17.tar.gz", "has_sig": true, "md5_digest": "1e425aad91a76fd8a08aeb3f11d2e32a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4719, "upload_time": "2018-02-13T16:47:26", "url": "https://files.pythonhosted.org/packages/7f/69/73c5b373ac656de0ee61175597d6739bd69bddcbc80894940cdb4237af8a/logstash_formatter-0.5.17.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "562851ddd3263cf6529db49f122df6b4", "sha256": "d439e53e18c01e14c60e848d83108ac4a3b96bd6049d5296761bda0605bcabe6" }, "downloads": -1, "filename": "logstash_formatter-0.5.2.tar.gz", "has_sig": false, "md5_digest": "562851ddd3263cf6529db49f122df6b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3424, "upload_time": "2013-05-02T08:45:36", "url": "https://files.pythonhosted.org/packages/c2/07/b461f14b9c27e085497fb77c635b6586210f4408429e68afad6770fc114a/logstash_formatter-0.5.2.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "1fbaec7f7df62f0f714afbb304642413", "sha256": "7d99fc77343a424881f0043c7f76c33b52432bc978602d23cab4bb1ff03a6aca" }, "downloads": -1, "filename": "logstash_formatter-0.5.4.tar.gz", "has_sig": false, "md5_digest": "1fbaec7f7df62f0f714afbb304642413", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3404, "upload_time": "2013-05-22T15:43:53", "url": "https://files.pythonhosted.org/packages/0e/d9/2961149c763fde3a2a658a355a25d00b3dbecb92f959436b2d1d88e73e4a/logstash_formatter-0.5.4.tar.gz" } ], "0.5.5": [ { "comment_text": "", "digests": { "md5": "7c7c60d2ade16a9b348835d4351215fb", "sha256": "16d0b30d27299f50313c9e0c736c79fffa3e4879392abdb34d6b99586f0e68f4" }, "downloads": -1, "filename": "logstash_formatter-0.5.5.tar.gz", "has_sig": false, "md5_digest": "7c7c60d2ade16a9b348835d4351215fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3418, "upload_time": "2013-05-30T10:04:02", "url": "https://files.pythonhosted.org/packages/2b/2e/8689ce7d6f79a96db75a572deb32b53fb41c2ad22e6de701dba270c3967b/logstash_formatter-0.5.5.tar.gz" } ], "0.5.7": [ { "comment_text": "", "digests": { "md5": "1e2d880a33c60a2a6ee3af4313575b05", "sha256": "d86a55a979e8a43c794519639525b084529efca57574faac8700004c49f195a4" }, "downloads": -1, "filename": "logstash_formatter-0.5.7.tar.gz", "has_sig": false, "md5_digest": "1e2d880a33c60a2a6ee3af4313575b05", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3547, "upload_time": "2013-10-28T15:43:47", "url": "https://files.pythonhosted.org/packages/6d/83/08ebb2c5ec54cfc44cbdb4e47e07cbae76769a06df36141343e19ec4ebf9/logstash_formatter-0.5.7.tar.gz" } ], "0.5.8": [ { "comment_text": "", "digests": { "md5": "ed8ebf1f056e53e8820dc5e05baf6c20", "sha256": "57c49289c4ad2639cd63e904120d2fc1e790e3055b0339a50aa1279d3eabd075" }, "downloads": -1, "filename": "logstash_formatter-0.5.8.tar.gz", "has_sig": false, "md5_digest": "ed8ebf1f056e53e8820dc5e05baf6c20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3915, "upload_time": "2014-01-23T13:07:26", "url": "https://files.pythonhosted.org/packages/93/18/47be5838eab3650033fddcff5ef09ee8ee3fcd1246034ff9a39e5135e045/logstash_formatter-0.5.8.tar.gz" } ], "0.5.9": [ { "comment_text": "", "digests": { "md5": "e15ba2755b56f9661f1b5db799bcc7b0", "sha256": "72b9834326fdfb36b033502f770e1ef25bf41f6f841c8f527848a18692c6d5ff" }, "downloads": -1, "filename": "logstash_formatter-0.5.9.tar.gz", "has_sig": false, "md5_digest": "e15ba2755b56f9661f1b5db799bcc7b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3903, "upload_time": "2014-11-17T15:27:40", "url": "https://files.pythonhosted.org/packages/87/f1/9aa0df953768094594a749c05f43550a67e2a6f40477b818e1099b21ec23/logstash_formatter-0.5.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1e425aad91a76fd8a08aeb3f11d2e32a", "sha256": "163f5ef62df5459f1d36dcb54e9c3f8f0c90157a324a3361887532b615bf4fb9" }, "downloads": -1, "filename": "logstash_formatter-0.5.17.tar.gz", "has_sig": true, "md5_digest": "1e425aad91a76fd8a08aeb3f11d2e32a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4719, "upload_time": "2018-02-13T16:47:26", "url": "https://files.pythonhosted.org/packages/7f/69/73c5b373ac656de0ee61175597d6739bd69bddcbc80894940cdb4237af8a/logstash_formatter-0.5.17.tar.gz" } ] }