{ "info": { "author": "Connexions team", "author_email": "info@cnx.org", "bugtrack_url": null, "classifiers": [], "description": "Pyramid Sawing\n==============\n\n.. image:: https://travis-ci.org/Connexions/pyramid_sawing.svg\n :target: https://travis-ci.org/Connexions/pyramid_sawing\n\n.. image:: https://badge.fury.io/py/pyramid_sawing.svg\n :target: http://badge.fury.io/py/pyramid_sawing\n\nA Pyramid framework plugin for configurating logging\nvia `YAML `_.\nThis uses the Python standard-library's logging\n(initialized using ``logging.config.dictConfig``).\n\n.. contents:: Table of Contents\n\nUsage\n-----\n\nInclude the package in your project, either by adding to the INI configuration::\n\n pyramid.includes = pyramid_sawing\n pyramid_sawing.file = my-logging-config.yaml\n\nOr declarative via the configuration object::\n\n config.include('pyramid_sawing')\n assert 'pyramid_sawing.file' in config.registry.settings\n\nYou'll be required to specify a logging configuration file\nat ``pyramid_sawing.file``, which points to the file that contains your\nYAML logging configuration.\n\nYAML Configuration\n------------------\n\nThis configuration follows the standard-library's\n`logging.config dictionary schema `_\n\nAn example configuration might look like this::\n\n ###\n # logging configuration\n ###\n version: 1\n\n formatters:\n generic:\n format : '%(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s'\n papertrail:\n format : '%(asctime)s %(hostname)s my_project %(message)s'\n datefmt : '%Y-%m-%dT%H:%M:%S'\n filters:\n context:\n () : pyramid_sawing.filters.ContextFilter\n handlers:\n console:\n class : logging.StreamHandler\n level : NOTSET\n formatter : generic\n stream : 'ext://sys.stdout'\n syslog:\n class : logging.handlers.SysLogHandler\n level : DEBUG\n formatter : papertrail\n filters : [context]\n address : ['.papertrailapp.com', 11111]\n loggers:\n my_project:\n level : INFO\n handlers : [console, syslog]\n propagate : 0\n root:\n level : NOTSET\n handlers : []\n\nA typical *gotcha* in configuring this is to forget the 'version'. Please\nmake sure you include ``version: 1`` in your configuration.\n\nAdditional Features\n-------------------\n\nTransit Logging\n~~~~~~~~~~~~~~~\n\nThis resembles the functionality you would find in ``pyramid_translogger``\nexcept that this implementation is more configurable.\n\nTo enable this feature, add the following line to your configuraton/settings.\n\n::\n\n pyramid_sawing.transit_logging.enabled? = yes\n # Optional...\n # The default logger_name is `transit_logger`\n pyramid_sawing.transit_logging.logger_name = lumberjack\n\nA template for configuring the transit logger would be something like::\n\n formatters:\n apache_style:\n # filters : [environ]\n format : '%(REMOTE_ADDR)s - %(REMOTE_USER)s [%(asctime)s] \"%(REQUEST_METHOD)s %(REQUEST_URI)s %(HTTP_VERSION)s\" %(status)s %(bytes)s \"%(HTTP_REFERER)s\" \"%(HTTP_USER_AGENT)s\"'\n datefmt : '%d/%b/%Y:%H:%M:%S'\n filters:\n environ:\n () : pyramid_sawing.filters.EnvironFilter\n handlers:\n console:\n class : logging.StreamHandler\n formatter : apache_style\n filters : [environ]\n stream : 'ext://sys.stdout'\n loggers:\n transit_logger:\n handlers : [console]\n propagate : 0\n\nThis should give you the exact same output as ``pyramid_translogger``.\n\nLicense\n-------\n\nThis software is subject to the provisions of the GNU Affero General\nPublic License Version 3.0 (AGPL). See LICENSE.txt for details.\nCopyright (c) 2015 Rice University\n\n\nChange Log\n==========\n\n\n\n.. Use the following to start a new version entry:\n\n |version|\n ----------------------\n\n - feature message [author]\n\n1.1.3\n-----\n\n- Adjust the transit logging tween to set and return the response attribute\n of the request object.\n- Fix tests for Python3 compatiblity.\n\n1.1.2\n-----\n\n- Fix the transit logging tween to return the response coming from\n the handler rather than the one attached to the request object. [pumazi]\n\n1.1.1\n-----\n\n- Fix the transit logging tween by returning the response,\n which caused secondary tweens and event subscribers to fail. [pumazi]\n\n1.1.0\n-----\n\n- Add a transit (request) logging feature that mimics functionality\n found in ``pyramid_translogger``. [pumazi]\n\n1.0.0\n-----\n\n- Add a logging filter that allows for ``%(hostname)s`` be be used\n within log lines. [pumazi]\n- Logging from a YAML file. [pumazi]\n\n\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/connexions/pyramid_sawing", "keywords": "", "license": "AGPL, See also LICENSE.txt", "maintainer": "", "maintainer_email": "", "name": "pyramid_sawing", "package_url": "https://pypi.org/project/pyramid_sawing/", "platform": "", "project_url": "https://pypi.org/project/pyramid_sawing/", "project_urls": { "Homepage": "https://github.com/connexions/pyramid_sawing" }, "release_url": "https://pypi.org/project/pyramid_sawing/1.1.3/", "requires_dist": [ "pyramid", "PyYAML", "mock; extra == 'test'" ], "requires_python": "", "summary": "Pyramid plugin for YAML logging configuration.", "version": "1.1.3" }, "last_serial": 3226427, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "c43d73e0f50ab2b509cd4db2f62012c9", "sha256": "38dd782fb73b4caa225aee4142d31b528217b5c0cb2941dd8aecf3fe934f8234" }, "downloads": -1, "filename": "pyramid_sawing-1.0.0.tar.bz2", "has_sig": false, "md5_digest": "c43d73e0f50ab2b509cd4db2f62012c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15037, "upload_time": "2015-05-01T18:47:38", "url": "https://files.pythonhosted.org/packages/5e/e2/0dbf6405e7402730a61b8b590391c769f76fe5819035e2f1f1d10a620804/pyramid_sawing-1.0.0.tar.bz2" }, { "comment_text": "", "digests": { "md5": "5f35b18722d26b3c6aa92003d00b2a5d", "sha256": "bb83d5704de44d9cf8f26b2e4095a6b17927ab91c5f02670788eb7300f724b60" }, "downloads": -1, "filename": "pyramid_sawing-1.0.0.tar.gz", "has_sig": false, "md5_digest": "5f35b18722d26b3c6aa92003d00b2a5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16231, "upload_time": "2015-05-01T18:47:41", "url": "https://files.pythonhosted.org/packages/8a/3c/487bcdb0a9d967fd236b34898961b84f6187d4a8d4129c3cd6533fff59a0/pyramid_sawing-1.0.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "dfdb69635c27134aa2e89f8204688c04", "sha256": "9f28a1fbdc4563efd60bc6b38a24b4fc2452622d5864d431589068a89a284481" }, "downloads": -1, "filename": "pyramid_sawing-1.0.0.zip", "has_sig": false, "md5_digest": "dfdb69635c27134aa2e89f8204688c04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22109, "upload_time": "2015-05-01T18:47:43", "url": "https://files.pythonhosted.org/packages/29/f0/46ddef7e76b97d47d298dedd9d01f4843b8a89629ba7759f8602a2acbdeb/pyramid_sawing-1.0.0.zip" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "527bdc0ac7cbf3844fc88538bb4b9a1e", "sha256": "ffe7fa6d0bc4c48ef780fc1df3aa0d99b7990010e9ccc4c03ccab002eda66dab" }, "downloads": -1, "filename": "pyramid_sawing-1.1.0.tar.bz2", "has_sig": false, "md5_digest": "527bdc0ac7cbf3844fc88538bb4b9a1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16949, "upload_time": "2015-05-03T00:34:44", "url": "https://files.pythonhosted.org/packages/f0/8d/210b7539ddfcb385da7dfb2e3b33fa6f46928310b640a7b40bcf719b8925/pyramid_sawing-1.1.0.tar.bz2" }, { "comment_text": "", "digests": { "md5": "ae919c4319d4d2b7384569cbecd6e1c5", "sha256": "69a7096285734f27695fd301ae78695c3dc4a46f20c5218290571400d3e2eb0b" }, "downloads": -1, "filename": "pyramid_sawing-1.1.0.tar.gz", "has_sig": false, "md5_digest": "ae919c4319d4d2b7384569cbecd6e1c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18065, "upload_time": "2015-05-03T00:34:48", "url": "https://files.pythonhosted.org/packages/ac/ee/e756e0e3c781668f58a6fd5d84bad96f978b4e30807b5d47066d1f697a9d/pyramid_sawing-1.1.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "4d1670e8380cf035e8e0d6cf21dcde0c", "sha256": "f0fa4618677661bae8327632b707976cf2af6453d1953050e6a018fb9b35f28d" }, "downloads": -1, "filename": "pyramid_sawing-1.1.0.zip", "has_sig": false, "md5_digest": "4d1670e8380cf035e8e0d6cf21dcde0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25177, "upload_time": "2015-05-03T00:34:50", "url": "https://files.pythonhosted.org/packages/c3/ac/1fc8fcc2c81cd81740d15f9d11e685abbb828a78262dd0faa9dc57772133/pyramid_sawing-1.1.0.zip" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "3cbe62b9d2eef9d490f2802aaaaab9fe", "sha256": "57287fffa8b438fcb864418a4335074b91d32fbdcb1fa82868e60747981dc7b8" }, "downloads": -1, "filename": "pyramid_sawing-1.1.1.tar.bz2", "has_sig": false, "md5_digest": "3cbe62b9d2eef9d490f2802aaaaab9fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17007, "upload_time": "2015-05-05T19:57:26", "url": "https://files.pythonhosted.org/packages/4c/1f/06cd1e8b127606ca8af7bde2c3ea4c982006b1e66cd13431000c0a980de7/pyramid_sawing-1.1.1.tar.bz2" }, { "comment_text": "", "digests": { "md5": "34f13e348037b537bd2f775936e0762b", "sha256": "20c05611f31009177a1a7f415b1ad5b0c234445018520b63bdaa2338ad5cde89" }, "downloads": -1, "filename": "pyramid_sawing-1.1.1.tar.gz", "has_sig": false, "md5_digest": "34f13e348037b537bd2f775936e0762b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18189, "upload_time": "2015-05-05T19:57:30", "url": "https://files.pythonhosted.org/packages/f5/e1/925a54ff9bc57f7ceba462bd6d02b9388f38cf67c3f1eb3895bf0aca1f20/pyramid_sawing-1.1.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "22369e483a934c1cdf6728ca4e03412e", "sha256": "c2d9f7007fac4e5afc69af82c80fe90a1f7ebf86e4aab87feddb614f7613fddb" }, "downloads": -1, "filename": "pyramid_sawing-1.1.1.zip", "has_sig": false, "md5_digest": "22369e483a934c1cdf6728ca4e03412e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25388, "upload_time": "2015-05-05T19:57:33", "url": "https://files.pythonhosted.org/packages/bb/bc/f88e1f7400a0544110aab1894e6bee1e466cefa22879c1d59404f693a425/pyramid_sawing-1.1.1.zip" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "f7b72fb62f5698750eb18cb9c403b66f", "sha256": "4c3516012da970758cadc72a2a2cd407556b1e865ed7db2ab72e9e03c9168750" }, "downloads": -1, "filename": "pyramid_sawing-1.1.2.tar.bz2", "has_sig": false, "md5_digest": "f7b72fb62f5698750eb18cb9c403b66f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17089, "upload_time": "2015-05-05T20:09:16", "url": "https://files.pythonhosted.org/packages/4c/1a/74568cdad196840a62516d0993db79e2e4cae23c26b8fd49f95857a93d72/pyramid_sawing-1.1.2.tar.bz2" }, { "comment_text": "", "digests": { "md5": "ab92320884066ac1d39e2d76650938aa", "sha256": "164bc0bded4fa9a488c14aa43a57af098567f7ff907f1e49d614f34278bbd8f3" }, "downloads": -1, "filename": "pyramid_sawing-1.1.2.tar.gz", "has_sig": false, "md5_digest": "ab92320884066ac1d39e2d76650938aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18288, "upload_time": "2015-05-05T20:09:20", "url": "https://files.pythonhosted.org/packages/68/fa/82a6c765e147612fa1f013c1e4cb8ff8c02211a1e56071793eb39d04e63f/pyramid_sawing-1.1.2.tar.gz" }, { "comment_text": "", "digests": { "md5": "dbc8b595614d2944217953fbd276f4d0", "sha256": "5b53016807a057a9a96e3a86b6519ab23db4f802623177d897ed7cef8c445bd0" }, "downloads": -1, "filename": "pyramid_sawing-1.1.2.zip", "has_sig": false, "md5_digest": "dbc8b595614d2944217953fbd276f4d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25547, "upload_time": "2015-05-05T20:09:24", "url": "https://files.pythonhosted.org/packages/07/90/705b465bb240eb58252b5aa086ceb40270b576b3f01c2fb2c6ba896ca7f0/pyramid_sawing-1.1.2.zip" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "4f3e5b1710b2577f06cf840a01828e8f", "sha256": "30378ed4af968edcd133930d6dc5dacb7469b3753176ce40033ef0f6c312b225" }, "downloads": -1, "filename": "pyramid_sawing-1.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "4f3e5b1710b2577f06cf840a01828e8f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10674, "upload_time": "2017-10-04T21:27:25", "url": "https://files.pythonhosted.org/packages/22/8e/279e3860e9d38f4a458ab7e318abce6d3bb3d77a7c4520bef609f71df743/pyramid_sawing-1.1.3-py2-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4f3e5b1710b2577f06cf840a01828e8f", "sha256": "30378ed4af968edcd133930d6dc5dacb7469b3753176ce40033ef0f6c312b225" }, "downloads": -1, "filename": "pyramid_sawing-1.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "4f3e5b1710b2577f06cf840a01828e8f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10674, "upload_time": "2017-10-04T21:27:25", "url": "https://files.pythonhosted.org/packages/22/8e/279e3860e9d38f4a458ab7e318abce6d3bb3d77a7c4520bef609f71df743/pyramid_sawing-1.1.3-py2-none-any.whl" } ] }