{ "info": { "author": "Roman Dashevsky", "author_email": "dashevsky@selectel.ru", "bugtrack_url": null, "classifiers": [], "description": "======\npglogs\n======\nSave logs records in postgres.\nLog record can contain any num of fields.\nLogs format in the table:\n id SERIAL\n data TEXT\n {\"field1\": \"value\", \"field2\": \"value\", \"field3\": \"value\"}\n\n\n# example of use\n from pglogs.models import Pg, LogRecord\n\n pg = Pg('pglogs', 'pglogs_user', '127.0.0.1', 'qwerty')\n pg.connect()\n\n log = LogRecord(pg)\n log.set_field('chef_request', \"\"\"'{}[[[]dfdfd''']]--pdfdfdfdfd\\\\SOME HACKER BEEN HERE}'\"\"\")\n log.set_field('proxy_response', \"\"\"dfdg'gfgfd'g'dsgd\\'gfsdfg\\'gdf/dgfd/fdg/f/dgd'\\\"\\\\''''\"\"\")\n log.commit()\n\n\n# example of use for log Flask requests\n from pglogs.models import Pg, LogRecord\n from pglogs.utils import pack_request_log\n from flask import Flask, request, g\n\n app = Flask(__name__)\n pg = Pg('pglogs', 'pglogs_user', '127.0.0.1', 'qwerty')\n\n\n @app.before_request\n def init_request_log():\n if not hasattr(g, 'log'):\n g.log = LogRecord(pg)\n\n @app.route(\"/\")\n def hello():\n g.log.set_field('hello_request',pack_request_log(request))\n g.log.commit()\n return \"Hello World!\"\n\n if __name__ == \"__main__\":\n app.run()", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/romario8/pglogs", "keywords": null, "license": "LICENSE", "maintainer": null, "maintainer_email": null, "name": "pglogs", "package_url": "https://pypi.org/project/pglogs/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pglogs/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/romario8/pglogs" }, "release_url": "https://pypi.org/project/pglogs/0.1.5/", "requires_dist": null, "requires_python": null, "summary": "A simple lib for postgres logging", "version": "0.1.5" }, "last_serial": 1029385, "releases": { "0.1.5": [ { "comment_text": "", "digests": { "md5": "58ad6a9840c7af4c68c1e4d56d523993", "sha256": "0928e0c413d05b78200026823e125a9c742be196415b70878f3c4091f4ad0939" }, "downloads": -1, "filename": "pglogs-0.1.5.tar.gz", "has_sig": false, "md5_digest": "58ad6a9840c7af4c68c1e4d56d523993", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5191, "upload_time": "2014-03-14T11:57:24", "url": "https://files.pythonhosted.org/packages/2a/40/817b89dfcc1665ba6a51bccb42389dbd6bf68fc9d3beacff1fbf2f5b3640/pglogs-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "58ad6a9840c7af4c68c1e4d56d523993", "sha256": "0928e0c413d05b78200026823e125a9c742be196415b70878f3c4091f4ad0939" }, "downloads": -1, "filename": "pglogs-0.1.5.tar.gz", "has_sig": false, "md5_digest": "58ad6a9840c7af4c68c1e4d56d523993", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5191, "upload_time": "2014-03-14T11:57:24", "url": "https://files.pythonhosted.org/packages/2a/40/817b89dfcc1665ba6a51bccb42389dbd6bf68fc9d3beacff1fbf2f5b3640/pglogs-0.1.5.tar.gz" } ] }