{ "info": { "author": "Sergey Nevmerzhitsky", "author_email": "sergey.nevmerzhitsky@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Topic :: Utilities" ], "description": "# Library for structured logging in Python\n\n## Examples\n\nSimple script for starting:\n\n```python\nfrom simple_json_logging import init_json_logger\n\nlogger = init_json_logger('my_json_logger')\n\n\ndef main():\n logger.warning('Test log message with arg1 %s and arg2 %s', 'abc', 100, foo='yyy', bar=100500)\n try:\n raise RuntimeError('just for test')\n except Exception:\n logger.exception('exception', foo='yyy')\n\n\nif __name__ == '__main__':\n main()\n```\n\nThis script will output:\n\n```\n{\"name\": \"my_json_logger\", \"levelname\": \"WARNING\", \"levelno\": 30, \"pathname\": \"example.py\", \"filename\": \"example.py\", \"module\": \"example\", \"stack_info\": null, \"lineno\": 7, \"funcName\": \"main\", \"created\": 1564591269.778053, \"msecs\": 778.0530452728271, \"relativeCreated\": 4.003047943115234, \"thread\": 30272, \"threadName\": \"MainThread\", \"processName\": \"MainProcess\", \"process\": 19180, \"data\": {\"foo\": \"yyy\", \"bar\": 100500}, \"message\": \"Test log message with arg1 abc and arg2 100\"}\n{\"name\": \"my_json_logger\", \"levelname\": \"ERROR\", \"levelno\": 40, \"pathname\": \"example.py\", \"filename\": \"example.py\", \"module\": \"example\", \"stack_info\": null, \"lineno\": 11, \"funcName\": \"main\", \"created\": 1564591269.778053, \"msecs\": 778.0530452728271, \"relativeCreated\": 4.003047943115234, \"thread\": 30272, \"threadName\": \"MainThread\", \"processName\": \"MainProcess\", \"process\": 19180, \"data\": {\"foo\": \"yyy\"}, \"message\": \"exception\", \"exceptionClass\": \"RuntimeError\", \"exceptionMessage\": \"just for test\"}\n```\n\nAnother one with a custom formatter:\n\n```python\nfrom simple_json_logging import JsonFormatter, init_json_logger\n\nformatter = JsonFormatter(json_dumps_args={'sort_keys': True, 'indent': 2})\nlogger = init_json_logger('my_json_logger', formatter=formatter)\n\n\ndef main():\n logger.warning('Test log message with arg1 %s and arg2 %s', 'abc', 100, foo='yyy', bar=100500)\n try:\n raise RuntimeError('just for test')\n except Exception:\n logger.exception('exception', foo='yyy')\n\n\nif __name__ == '__main__':\n main()\n```\n\nThis script will output:\n```\n{\n \"created\": 1564591638.1781173,\n \"data\": {\n \"bar\": 100500,\n \"foo\": \"yyy\"\n },\n \"exc_text\": null,\n \"filename\": \"example.py\",\n \"funcName\": \"main\",\n \"levelname\": \"WARNING\",\n \"levelno\": 30,\n \"lineno\": 8,\n \"message\": \"Test log message with arg1 abc and arg2 100\",\n \"messageFormatted\": \"Test log message with arg1 abc and arg2 100\",\n \"module\": \"example\",\n \"msecs\": 178.1172752380371,\n \"name\": \"my_json_logger\",\n \"pathname\": \"example.py\",\n \"process\": 26544,\n \"processName\": \"MainProcess\",\n \"relativeCreated\": 2.9993057250976562,\n \"stack_info\": null,\n \"thread\": 28208,\n \"threadName\": \"MainThread\"\n}\n{\n \"created\": 1564591638.1781173,\n \"data\": {\n \"foo\": \"yyy\"\n },\n \"exc_text\": \"Traceback (most recent call last):\\n File \\\"example.py\\\", line 10, in main\\n raise RuntimeError('just for test')\\nRuntimeError: just for test\",\n \"exceptionClass\": \"RuntimeError\",\n \"exceptionMessage\": \"just for test\",\n \"filename\": \"example.py\",\n \"funcName\": \"main\",\n \"levelname\": \"ERROR\",\n \"levelno\": 40,\n \"lineno\": 12,\n \"message\": \"exception\",\n \"messageFormatted\": \"exception\",\n \"module\": \"example\",\n \"msecs\": 178.1172752380371,\n \"name\": \"my_json_logger\",\n \"pathname\": \"example.py\",\n \"process\": 26544,\n \"processName\": \"MainProcess\",\n \"relativeCreated\": 2.9993057250976562,\n \"stack_info\": null,\n \"thread\": 28208,\n \"threadName\": \"MainThread\"\n}\n```\n\n## Known issues\n\nDidn't tested on versions before Python 3.7, please give me feedback about previous versions.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nevmerzhitsky/python-simple-json-logging", "keywords": "logging,json", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "simple-json-logging", "package_url": "https://pypi.org/project/simple-json-logging/", "platform": "", "project_url": "https://pypi.org/project/simple-json-logging/", "project_urls": { "Homepage": "https://github.com/nevmerzhitsky/python-simple-json-logging" }, "release_url": "https://pypi.org/project/simple-json-logging/2.0.0/", "requires_dist": null, "requires_python": "~=3.7", "summary": "Library for structured logging via JSON document", "version": "2.0.0" }, "last_serial": 5620387, "releases": { "1.0.5": [ { "comment_text": "", "digests": { "md5": "5ae7ffd1b54714f2d79e2b589b1decb7", "sha256": "15c83b2a5a9f180051d79aebf82185234f47e44547f0d592a230195922368902" }, "downloads": -1, "filename": "simple_json_logging-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "5ae7ffd1b54714f2d79e2b589b1decb7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 4653, "upload_time": "2019-07-31T19:35:38", "url": "https://files.pythonhosted.org/packages/47/a1/4055149fdd5c1f2d11c92dee3e9d982346bc5be83dfdaed5605b04cd37a2/simple_json_logging-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53f26df9ddc821833aac68a507f215be", "sha256": "929c63284e4e33cec271bf19223c9cf89c9383646194d74685ab1df083f70342" }, "downloads": -1, "filename": "simple-json-logging-1.0.5.tar.gz", "has_sig": false, "md5_digest": "53f26df9ddc821833aac68a507f215be", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 3627, "upload_time": "2019-07-31T19:35:40", "url": "https://files.pythonhosted.org/packages/4a/65/5388fa5820e3af2f7fed82fcb1fc75500a7d5cd88764d662668937040193/simple-json-logging-1.0.5.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "1f44104efe4cc76015f370649d92cf82", "sha256": "a722c3a2fb271e6f012657af6b0c386299cc7bfb3b37df29dd1cb4b1f1b51ff5" }, "downloads": -1, "filename": "simple_json_logging-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1f44104efe4cc76015f370649d92cf82", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 4813, "upload_time": "2019-08-01T17:53:05", "url": "https://files.pythonhosted.org/packages/e2/a3/7fe47e93164799b9367e7728ea5f65c7f6e99309759aa939ae652d8fead8/simple_json_logging-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "81785ae82e118fa2a730faea9f15dac8", "sha256": "8e566d5ba2b20e6bd756be34eb518f2d6ec3ae5831d2e763f9baa3c6547e00bd" }, "downloads": -1, "filename": "simple-json-logging-1.1.1.tar.gz", "has_sig": false, "md5_digest": "81785ae82e118fa2a730faea9f15dac8", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 3775, "upload_time": "2019-08-01T17:53:07", "url": "https://files.pythonhosted.org/packages/ca/06/6ca21313eafdd214d2a74d43078ce79dc5afc8239cb34e48572990278626/simple-json-logging-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "76b3f955b17ea131fd124750d2988c06", "sha256": "6d9e3bc573f489be6017ef5a2bbd5b7a2754f4ab554cc7ef8f91689011de4a3f" }, "downloads": -1, "filename": "simple_json_logging-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "76b3f955b17ea131fd124750d2988c06", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 4870, "upload_time": "2019-08-01T18:56:53", "url": "https://files.pythonhosted.org/packages/f4/bd/d93d0d089bad92963723395d0281687bc1887c5a09f82da5a9abb06d026e/simple_json_logging-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a78f082d860e4f10feee684ff5309c68", "sha256": "5bb9e2841d5429c1d56386fe2312426e687e810190c768e1c3ffba4acefa4ae8" }, "downloads": -1, "filename": "simple-json-logging-1.1.2.tar.gz", "has_sig": false, "md5_digest": "a78f082d860e4f10feee684ff5309c68", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 3828, "upload_time": "2019-08-01T18:56:54", "url": "https://files.pythonhosted.org/packages/2c/0c/83cbc4eae465856d1538f72acd49aa4d6d85c71b10f128926ccfea051734/simple-json-logging-1.1.2.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "2462331a6b1178b6aa29662df63f7152", "sha256": "08da496112a1972a0c0412a3bdad39a0a063ea97afeafef4f5738022eb771db0" }, "downloads": -1, "filename": "simple_json_logging-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2462331a6b1178b6aa29662df63f7152", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 4909, "upload_time": "2019-08-01T19:32:52", "url": "https://files.pythonhosted.org/packages/20/bc/002c958a4752fbb8483341bbf0872cf8933b7dc27133a338abfcd3427b1e/simple_json_logging-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0f6ece12895d19f772252a8ded1b8868", "sha256": "8712e96b03ee962c22108b4de800fbd4defc36b00ad826511927dbe76de5a015" }, "downloads": -1, "filename": "simple-json-logging-2.0.0.tar.gz", "has_sig": false, "md5_digest": "0f6ece12895d19f772252a8ded1b8868", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 3877, "upload_time": "2019-08-01T19:32:54", "url": "https://files.pythonhosted.org/packages/86/ca/2c8f352ee53a64611a7eb1b6ceb388af0588d87251ab25d14a1c7a9abe29/simple-json-logging-2.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2462331a6b1178b6aa29662df63f7152", "sha256": "08da496112a1972a0c0412a3bdad39a0a063ea97afeafef4f5738022eb771db0" }, "downloads": -1, "filename": "simple_json_logging-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2462331a6b1178b6aa29662df63f7152", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 4909, "upload_time": "2019-08-01T19:32:52", "url": "https://files.pythonhosted.org/packages/20/bc/002c958a4752fbb8483341bbf0872cf8933b7dc27133a338abfcd3427b1e/simple_json_logging-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0f6ece12895d19f772252a8ded1b8868", "sha256": "8712e96b03ee962c22108b4de800fbd4defc36b00ad826511927dbe76de5a015" }, "downloads": -1, "filename": "simple-json-logging-2.0.0.tar.gz", "has_sig": false, "md5_digest": "0f6ece12895d19f772252a8ded1b8868", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 3877, "upload_time": "2019-08-01T19:32:54", "url": "https://files.pythonhosted.org/packages/86/ca/2c8f352ee53a64611a7eb1b6ceb388af0588d87251ab25d14a1c7a9abe29/simple-json-logging-2.0.0.tar.gz" } ] }