{ "info": { "author": "Seznam.cz, a.s.", "author_email": "doporucovani-vyvoj@firma.seznam.cz", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "zenetka\n=======\n\n**zenetka** provides simple Python's logging formater which formats\n`logging.LogRecord` to *JSON* object.\n\nInstalation\n-----------\n\n::\n\n pip install zenetka\n\nUsage\n-----\n\nConfigure your logging. For example, if you use `logging.config.dictConfig()`\nformat::\n\n LOGGING = {\n 'version': 1,\n 'disable_existing_loggers': False,\n 'formatters': {\n 'json': {\n '()': 'zenetka.JsonFormatter',\n 'datefmt': '%Y-%m-%d %H:%M:%S',\n 'ignored_attrs': ['processName', 'thread', 'threadName'],\n 'pretty': False,\n },\n },\n 'handlers': {\n 'console': {\n 'class': 'logging.StreamHandler',\n 'level': 'NOTSET',\n 'formatter': 'json',\n },\n },\n 'loggers': {\n '': {\n 'level': 'INFO',\n 'handlers': ('console',),\n },\n },\n }\n\nExample of the logged message::\n\n {\"name\":\"doporucovani_storage.couchbasestorage\",\"msg\":\"Connecting to Couchbase \\\"%s\\\"\",\"args\":[\"http:\\/\\/localhost:8091\\/bucket\"],\"levelname\":\"INFO\",\"levelno\":20,\"module\":\"couchbasestorage\",\"exc_text\":\"\",\"funcName\":\"connect\",\"created\":1541512363.4698207378,\"msecs\":469.8207378387,\"relativeCreated\":2155.5094718933,\"process\":19816,\"message\":\"Connecting to Couchbase \\\"http:\\/\\/localhost:8091\\/bucket\\\"\",\"asctime\":\"2018-11-06 14:52:43\",\"stack_text\":\"\"}\n\nIf *pretty* is `True`, attribute names will be sorted and indented.\n*ignored_attrs* is a `list` of the attributes which will be excluded\n(for all attribute names see\nhttps://docs.python.org/3/library/logging.html#logrecord-attributes).\n*exc_info* and *stack_info* are always excluded, they are converted\nto *exc_text* and *stack_text*.\n\nDo you want to log additional data? Instead of *args* use one argument\nas `dict` or use *extra* argument or both::\n\n logger.info(\n 'Connecting to Couchbase \"%(connection_string)s\"',\n {'connection_string': conn_str, 'attempts': attempts},\n extra={'msg_type': 'DB_CONNECT'})\n\n*extra* are converted to *JSON* object's atributes. `dict` is used for\nstring formatting, it can contain additional attributes. Will produce\nmessage::\n\n {\"msg\":\"Connecting to Couchbase \\\"%(connection_string)s\\\"\",\"args\":{\"connection_string\":\"http:\\/\\/localhost:8091\\/bucket\",\"attempts\":2},\"msg_type\":\"DB_CONNECT\",\"message\":\"Connecting to Couchbase \\\"http:\\/\\/localhost:8091\\/bucket\\\"\",\"asctime\":\"2018-11-06 14:52:43\",\"stack_text\":\"\", ...}\n\nSo use Python's logging and enjoy structured logs. However text logs are\nstill availble, because there is not magic, is's still Python's logging.\nIt depends on configuration, so use `logging.Formatter` for classic text\nlogs::\n\n 2018-11-06 14:52:43 INFO Connecting to Couchbase \"http://localhost:8091/bucket\"\n\nLicense\n-------\n\n3-clause BSD\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "zenetka", "package_url": "https://pypi.org/project/zenetka/", "platform": "", "project_url": "https://pypi.org/project/zenetka/", "project_urls": null, "release_url": "https://pypi.org/project/zenetka/1.0.0/", "requires_dist": null, "requires_python": "", "summary": "Structured formatter for Python's logging", "version": "1.0.0" }, "last_serial": 4485228, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "c50528aac2c1b933468914451f7f558f", "sha256": "af238848dd0555ce1870ea72c956977be5566b266c8c3775d0a344ba48ce17b8" }, "downloads": -1, "filename": "zenetka-1.0.0.tar.gz", "has_sig": false, "md5_digest": "c50528aac2c1b933468914451f7f558f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4702, "upload_time": "2018-11-14T11:19:48", "url": "https://files.pythonhosted.org/packages/23/e7/f00105efd658b10ecf7a71fd4a465e060bc97e4ea6eab2485e76f823814a/zenetka-1.0.0.tar.gz" } ], "1.0.0rc1": [ { "comment_text": "", "digests": { "md5": "214f5f0b92985e14e6b437bd30afd0c7", "sha256": "2456b85be52b2bbd45e86dbc55278eb7ec378a0a866324b9cb423d3b95e1b31a" }, "downloads": -1, "filename": "zenetka-1.0.0rc1.tar.gz", "has_sig": false, "md5_digest": "214f5f0b92985e14e6b437bd30afd0c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4161, "upload_time": "2018-11-06T15:20:25", "url": "https://files.pythonhosted.org/packages/6e/ac/ccf871e7b69f8206e519b8312abb0eb5cb571a9a9a805079d4b32951aebd/zenetka-1.0.0rc1.tar.gz" } ], "1.0.0rc2": [ { "comment_text": "", "digests": { "md5": "3e57e93bac0fea2494dbde297519274c", "sha256": "cdf152162d8ab832a79066fd4177be69c653b98c732caf42b384811e95837efa" }, "downloads": -1, "filename": "zenetka-1.0.0rc2.tar.gz", "has_sig": false, "md5_digest": "3e57e93bac0fea2494dbde297519274c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4791, "upload_time": "2018-11-06T21:38:59", "url": "https://files.pythonhosted.org/packages/a7/8e/633a8fc290719d0ed691b97b38e4c963749b47a4757474b60e63d9fa2ddc/zenetka-1.0.0rc2.tar.gz" } ], "1.0.0rc3": [ { "comment_text": "", "digests": { "md5": "634e232438c144294cf89c9d3fb41dd7", "sha256": "a1f96a3da87c01fe1d1b4facaea5a3f52cd98c02a4d0f22a88fe1b6fe2a85f45" }, "downloads": -1, "filename": "zenetka-1.0.0rc3.tar.gz", "has_sig": false, "md5_digest": "634e232438c144294cf89c9d3fb41dd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4727, "upload_time": "2018-11-07T07:40:43", "url": "https://files.pythonhosted.org/packages/3b/b9/803860a00963cbfb696428af374608fdb1e24d5cf42f3760158abb6109f6/zenetka-1.0.0rc3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c50528aac2c1b933468914451f7f558f", "sha256": "af238848dd0555ce1870ea72c956977be5566b266c8c3775d0a344ba48ce17b8" }, "downloads": -1, "filename": "zenetka-1.0.0.tar.gz", "has_sig": false, "md5_digest": "c50528aac2c1b933468914451f7f558f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4702, "upload_time": "2018-11-14T11:19:48", "url": "https://files.pythonhosted.org/packages/23/e7/f00105efd658b10ecf7a71fd4a465e060bc97e4ea6eab2485e76f823814a/zenetka-1.0.0.tar.gz" } ] }