{ "info": { "author": "Israel Flores", "author_email": "jobs@israelfl.com", "bugtrack_url": null, "classifiers": [], "description": "# python-logstash\n\n## Python logging handler for Logstash.\n\n\n### Notes:\nThis is a copy of python-logstash: \nThat has been update to work with python 3.\n\n### Installation\n\n\nUsing pip:\n`pip install python3-logstash`\n\n### Usage\n\n`LogstashHandler` is a custom logging handler which sends Logstash messages using UDP, or TCP.\n\n#### For example:\n\n```\nimport logging\nimport logstash\nimport sys\n\nhost = 'localhost'\n\ntest_logger = logging.getLogger('python-logstash-logger')\ntest_logger.setLevel(logging.INFO)\ntest_logger.addHandler(logstash.LogstashHandler(host, 5959, version=1))\n# test_logger.addHandler(logstash.TCPLogstashHandler(host, 5959, version=1))\n\ntest_logger.error('python-logstash: test logstash error message.')\ntest_logger.info('python-logstash: test logstash info message.')\ntest_logger.warning('python-logstash: test logstash warning message.')\n\n# add extra field to logstash message\nextra = {\n 'test_string': 'python version: ' + repr(sys.version_info),\n 'test_boolean': True,\n 'test_dict': {'a': 1, 'b': 'c'},\n 'test_float': 1.23,\n 'test_integer': 123,\n 'test_list': [1, 2, '3'],\n}\ntest_logger.info('python-logstash: test extra fields', extra=extra)\n```\n\nWhen using `extra` field make sure you don't use reserved names. From `Python documentation `_.\n | \"The keys in the dictionary passed in extra should not clash with the keys used by the logging system. (See the `Formatter `_ documentation for more information on which keys are used by the logging system.)\"\n\nTo use the AMQPLogstashHandler you will need to install pika first.\n```\n pip install pika\n```\n\nFor example::\n```\n import logging\n import logstash\n\n test_logger = logging.getLogger('python-logstash-logger')\n test_logger.setLevel(logging.INFO)\n test_logger.addHandler(logstash.AMQPLogstashHandler(host='localhost', version=1))\n\n test_logger.info('python-logstash: test logstash info message.')\n try:\n 1/0\n except:\n test_logger.exception('python-logstash-logger: Exception with stack trace!')\n```\n\n\n### Using with Django\n\nModify your `settings.py` to integrate `python3-logstash` with Django's logging::\n```\n LOGGING = {\n ...\n 'handlers': {\n 'logstash': {\n 'level': 'DEBUG',\n 'class': 'logstash.LogstashHandler',\n 'host': 'localhost',\n 'port': 5959, # Default value: 5959\n 'version': 1, # Version of logstash event schema. Default value: 0 (for backward compatibility of the library)\n 'message_type': 'logstash', # 'type' field in logstash message. Default value: 'logstash'.\n 'fqdn': False, # Fully qualified domain name. Default value: false.\n 'tags': ['tag1', 'tag2'], # list of tags. Default: None.\n },\n },\n 'loggers': {\n 'django.request': {\n 'handlers': ['logstash'],\n 'level': 'DEBUG',\n 'propagate': True,\n },\n },\n ...\n }\n```\n\n### Using with Gunicorn\nCreate a logging.conf similar to this:\n```\n[loggers]\nkeys=root, logstash.error, logstash.access\n\n[handlers]\nkeys=console , logstash\n\n[formatters]\nkeys=generic, access, json\n\n[logger_root]\nlevel=INFO\nhandlers=console\n\n[logger_logstash.error]\nlevel=INFO\nhandlers=logstash\npropagate=1\nqualname=gunicorn.error\n\n[logger_logstash.access]\nlevel=INFO\nhandlers=logstash\npropagate=0\nqualname=gunicorn.access\n\n[handler_console]\nclass=logging.StreamHandler\nformatter=generic\nargs=(sys.stdout, )\n\n[handler_logstash]\nclass=logstash.TCPLogstashHandler\nformatter=json\nargs=('localhost',5959)\n\n[formatter_generic]\nformat=%(asctime)s [%(process)d] [%(levelname)s] %(message)s\ndatefmt=%Y-%m-%d %H:%M:%S\nclass=logging.Formatter\n\n[formatter_access]\nformat=%(message)s\nclass=logging.Formatter\n\n[formatter_json]\nclass=jsonlogging.JSONFormatter\n```\n#### Note that I am using the jsonlogging module to parse the gunicorn logs\n\n### Sample logstash configuration\n\n(``logstash.conf``) for Receiving Events from python3-logstash is::\n```\n input {\n tcp {\n port => 5000\n codec => json\n }\n }\n output {\n stdout {\n codec => rubydebug\n }\n }\n```\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/israel-fl/python3-logstash", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "python3-logstash", "package_url": "https://pypi.org/project/python3-logstash/", "platform": "", "project_url": "https://pypi.org/project/python3-logstash/", "project_urls": { "Homepage": "https://github.com/israel-fl/python3-logstash" }, "release_url": "https://pypi.org/project/python3-logstash/0.4.80/", "requires_dist": null, "requires_python": "", "summary": "Python logging handler for Logstash.", "version": "0.4.80" }, "last_serial": 4054948, "releases": { "0.4.7": [ { "comment_text": "", "digests": { "md5": "d83756a92abd8a13e781696d70fee238", "sha256": "0d3bfc785db1df3c502b63c242aafd35eb7dc7f51ecf0a2d31696ad2c73ad4f6" }, "downloads": -1, "filename": "python3-logstash-0.4.7.tar.gz", "has_sig": false, "md5_digest": "d83756a92abd8a13e781696d70fee238", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5148, "upload_time": "2018-01-16T15:38:12", "url": "https://files.pythonhosted.org/packages/6c/df/51f6b639fd4d1fd4840a74e789662789e4dbd66b128d8c95bfe9d24876bd/python3-logstash-0.4.7.tar.gz" } ], "0.4.72": [ { "comment_text": "", "digests": { "md5": "2c631a4a1f6c507e23c6b066ddcf1706", "sha256": "581487fd36f04a43285ac6035d78a4d0e87549e902a4962316f08218f4f0149c" }, "downloads": -1, "filename": "python3-logstash-0.4.72.tar.gz", "has_sig": false, "md5_digest": "2c631a4a1f6c507e23c6b066ddcf1706", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5529, "upload_time": "2018-01-16T15:58:10", "url": "https://files.pythonhosted.org/packages/e8/7c/a13826c375757b4d2beae0ec1ae33d1201c3e69bda91feaeab511c3bcca7/python3-logstash-0.4.72.tar.gz" } ], "0.4.80": [ { "comment_text": "", "digests": { "md5": "80855e5996f41a439031f7999fc3fd35", "sha256": "140ada014f3aab20b590788c2427428241e8fe58c3406612e8711534202a998f" }, "downloads": -1, "filename": "python3_logstash-0.4.80-py3-none-any.whl", "has_sig": false, "md5_digest": "80855e5996f41a439031f7999fc3fd35", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7236, "upload_time": "2018-07-12T15:35:33", "url": "https://files.pythonhosted.org/packages/a7/ac/49def202a775e594db01812e1116a6b8a6069d3bac564e1ed5caea8d90b2/python3_logstash-0.4.80-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74420344acbae43613d9684bc7a5260d", "sha256": "d17e380226ff582fdd5d37bdd62ae3a903921949327aa2dd686b565e78e5ea26" }, "downloads": -1, "filename": "python3-logstash-0.4.80.tar.gz", "has_sig": false, "md5_digest": "74420344acbae43613d9684bc7a5260d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5786, "upload_time": "2018-07-12T15:35:33", "url": "https://files.pythonhosted.org/packages/59/93/c4f25b7512e251e3fe6c4ae4ae6e16c0f415169bce765fe202e4db720525/python3-logstash-0.4.80.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "80855e5996f41a439031f7999fc3fd35", "sha256": "140ada014f3aab20b590788c2427428241e8fe58c3406612e8711534202a998f" }, "downloads": -1, "filename": "python3_logstash-0.4.80-py3-none-any.whl", "has_sig": false, "md5_digest": "80855e5996f41a439031f7999fc3fd35", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7236, "upload_time": "2018-07-12T15:35:33", "url": "https://files.pythonhosted.org/packages/a7/ac/49def202a775e594db01812e1116a6b8a6069d3bac564e1ed5caea8d90b2/python3_logstash-0.4.80-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74420344acbae43613d9684bc7a5260d", "sha256": "d17e380226ff582fdd5d37bdd62ae3a903921949327aa2dd686b565e78e5ea26" }, "downloads": -1, "filename": "python3-logstash-0.4.80.tar.gz", "has_sig": false, "md5_digest": "74420344acbae43613d9684bc7a5260d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5786, "upload_time": "2018-07-12T15:35:33", "url": "https://files.pythonhosted.org/packages/59/93/c4f25b7512e251e3fe6c4ae4ae6e16c0f415169bce765fe202e4db720525/python3-logstash-0.4.80.tar.gz" } ] }