{ "info": { "author": "Mikko Ohtamaa, Sho Nakatani", "author_email": "mikko@opensourcehacker.com, lay.sakura@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: Public Domain", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: BSD", "Operating System :: POSIX :: Linux", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Debuggers", "Topic :: System :: Logging", "Topic :: Terminals", "Topic :: Utilities" ], "description": "rainbow_logging_handler\n=======================\n.. image:: https://travis-ci.org/laysakura/rainbow_logging_handler.png?branch=master\n :target: https://travis-ci.org/laysakura/rainbow_logging_handler\n\n.. image:: https://pypip.in/v/rainbow_logging_handler/badge.png\n :target: https://pypi.python.org/pypi/rainbow_logging_handler\n :alt: Latest PyPI version\n\nUltimate Python colorized logger.\n\n.. contents:: :local:\n\nUsage\n-----\n\nGeneric usage example\n#####################\n.. image:: http://github.com/laysakura/rainbow_logging_handler/raw/master/doc/screenshot.png\n\nThis script runs like above screenshot.\n\n.. code-block:: python\n\n import sys\n import logging\n from rainbow_logging_handler import RainbowLoggingHandler\n\n def main_func():\n # setup `logging` module\n logger = logging.getLogger('test_logging')\n logger.setLevel(logging.DEBUG)\n formatter = logging.Formatter(\"[%(asctime)s] %(name)s %(funcName)s():%(lineno)d\\t%(message)s\") # same as default\n\n # setup `RainbowLoggingHandler`\n handler = RainbowLoggingHandler(sys.stderr, color_funcName=('black', 'yellow', True))\n handler.setFormatter(formatter)\n logger.addHandler(handler)\n\n logger.debug(\"debug msg\")\n logger.info(\"info msg\")\n logger.warn(\"warn msg\")\n logger.error(\"error msg\")\n logger.critical(\"critical msg\")\n\n try:\n raise RuntimeError(\"Opa!\")\n except Exception as e:\n logger.exception(e)\n\n if __name__ == '__main__':\n main_func()\n\n\nUsage with Django\n##################################\n.. image:: http://github.com/miohtama/rainbow_logging_handler/raw/master/doc/screenshot_django.png\n\n`Django `_ is a popular Python web framework.\n\nPut the following to your ``settings.py`` to get more pleasant development server console output::\n\n # Add this to your settings.py\n if DEBUG:\n # Install rainbow logging handler when running Django in develoment mode\n import sys\n LOGGING[\"handlers\"][\"rainbow\"] = {\"level\": \"DEBUG\", \"class\": \"rainbow_logging_handler.RainbowLoggingHandler\", 'stream': sys.stderr}\n LOGGING[\"loggers\"][''][\"handlers\"].append(\"rainbow\")\n\n`More about configuring loggers for Django `_.\n\n\nFeatures\n--------\n\nColumn-by-column colored log\n############################\nAs apparent from above screenshot, each column of logs are differently colored.\nEven default coloring should make log reading easier.\n\nUser custom color\n#################\nEvery column colors are **customizable**.\n\n.. code-block:: python\n\n formatter = logging.Formatter('%(pathname)s [%(module)s] - %(funcName)s:L%(lineno)d : %(message)s')\n handler = RainbowLoggingHandler(\n sys.stderr,\n # Customizing each column's color\n color_pathname=('black', 'red' , True), color_module=('yellow', None, False),\n color_funcName=('blue' , 'white', True), color_lineno=('green' , None, False),\n )\n handler.setFormatter(formatter)\n logger.addHandler(handler)\n logger.info(\"hello custom world\")\n\nAbove code produces output like this.\n\n.. image:: http://github.com/laysakura/rainbow_logging_handler/raw/master/doc/screenshot-custom-color.png\n\nHigh portability\n################\nLinux, BSD, Mac OS, and Windows are supposed to be supported.\n\nRuns with both Python 2.6 or higher & Python 3.2 or higher.\n\nInstall\n-------\n\nInstall from PyPI\n#################\n.. code-block:: bash\n\n $ pip install rainbow_logging_handler\n\nInstall from Github repo\n########################\n.. code-block:: bash\n\n $ git clone https://github.com/laysakura/rainbow_logging_handler.git\n $ cd rainbow_logging_handler\n $ ./setup.py install\n\nAuthor\n------\n\nMikko Ohtamaa , Sho Nakatani \n\nAnd special thanks to `10sr `_ for advice.\n\nLicense\n-------\n\nThis is free and unencumbered public domain software. For more information,\nsee or the accompanying `LICENSE.txt` file.", "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/laysakura/rainbow_logging_handler", "keywords": null, "license": "LICENSE.txt", "maintainer": null, "maintainer_email": null, "name": "rainbow_logging_handler", "package_url": "https://pypi.org/project/rainbow_logging_handler/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/rainbow_logging_handler/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/laysakura/rainbow_logging_handler" }, "release_url": "https://pypi.org/project/rainbow_logging_handler/2.2.2/", "requires_dist": null, "requires_python": null, "summary": "Ultimate Python colorized logger with user-custom color", "version": "2.2.2" }, "last_serial": 2285274, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "4246df269ebebdd5960f0277ff98c3e5", "sha256": "f7fc07aa113b2485dfa168b191093c228c68a115fea33d1a2151d1c5d2ad8ae9" }, "downloads": -1, "filename": "rainbow_logging_handler-1.0.0.zip", "has_sig": false, "md5_digest": "4246df269ebebdd5960f0277ff98c3e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8901, "upload_time": "2013-12-03T12:05:44", "url": "https://files.pythonhosted.org/packages/cb/ff/19bc4790a991355c8937abdc470286697dc9764d79d23cc5d1bf926cefb6/rainbow_logging_handler-1.0.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "c9f9593081f1e1ae0c09000720210942", "sha256": "362b3df3dd5c8bad9f4d814cfc7d540108243a566440a3c595fbca78af0960f6" }, "downloads": -1, "filename": "rainbow_logging_handler-1.0.1.zip", "has_sig": false, "md5_digest": "c9f9593081f1e1ae0c09000720210942", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9138, "upload_time": "2013-12-03T12:09:48", "url": "https://files.pythonhosted.org/packages/7c/3c/6ac4d8f5d8e9f97902444fbd9637c17e10df7de46cd53adbff427fe9fc0c/rainbow_logging_handler-1.0.1.zip" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "37ba502c02f252509d5ff3d5156ba40b", "sha256": "e123321fbe2ce298af38508ced0c8264c5dd316139e89cb770275a0781f4cd4b" }, "downloads": -1, "filename": "rainbow_logging_handler-1.0.2.zip", "has_sig": false, "md5_digest": "37ba502c02f252509d5ff3d5156ba40b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9149, "upload_time": "2013-12-03T12:13:54", "url": "https://files.pythonhosted.org/packages/eb/4f/36440f9ac0e34e03ce0299eb6b7385dcaccbc93cd247ca1603a858ebd85e/rainbow_logging_handler-1.0.2.zip" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "73613bfe9e8942f30dfdc29e955c49be", "sha256": "c23a3ae5d458797d0babd90a010e59c1ab468f706d6af755f3fad05d80e4ba20" }, "downloads": -1, "filename": "rainbow_logging_handler-1.0.3.zip", "has_sig": false, "md5_digest": "73613bfe9e8942f30dfdc29e955c49be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9147, "upload_time": "2013-12-03T13:44:44", "url": "https://files.pythonhosted.org/packages/f3/5f/c4bafc8e170f843462a2b2ad672786b5f886eedf5f6dcf0e0cacae81a4b4/rainbow_logging_handler-1.0.3.zip" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "2d8246e19dce297c727780e5f1d71331", "sha256": "132b5bb9e6e36c4369b3f8ddb86dd5f3766269f83e030944b1d26ea5654fb1c9" }, "downloads": -1, "filename": "rainbow_logging_handler-1.0.4.zip", "has_sig": false, "md5_digest": "2d8246e19dce297c727780e5f1d71331", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9296, "upload_time": "2013-12-03T14:01:32", "url": "https://files.pythonhosted.org/packages/e0/b4/f530cea0fd6bca5ddf573d1f8341e70a12f1877a4f871c5fa8bdf76e8888/rainbow_logging_handler-1.0.4.zip" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "97991ae7f2b134f89b7e417e84d99ea2", "sha256": "1715e44947d198a3f58ddacd8c315f394a356d41161a5bff4fb9154adc2a7afc" }, "downloads": -1, "filename": "rainbow_logging_handler-2.0.0.zip", "has_sig": false, "md5_digest": "97991ae7f2b134f89b7e417e84d99ea2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13502, "upload_time": "2013-12-05T06:06:52", "url": "https://files.pythonhosted.org/packages/fb/ce/26e73d1124640bf1cdc44ef01ae5564984b29765dafde53fee47d0088e54/rainbow_logging_handler-2.0.0.zip" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "50ed1ae3c68f7b0c7012170b63b81413", "sha256": "23d6baceaf36773a3512a025cb615ee2aa59c32015c2a7266b44bad725f0ae28" }, "downloads": -1, "filename": "rainbow_logging_handler-2.0.1.zip", "has_sig": false, "md5_digest": "50ed1ae3c68f7b0c7012170b63b81413", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13479, "upload_time": "2013-12-05T06:30:08", "url": "https://files.pythonhosted.org/packages/13/36/d08eb0ad1181fb3ee3765344f3ab9d335e97e334945901ad637f82d39ec2/rainbow_logging_handler-2.0.1.zip" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "eaa6b0c5e504f58972a29987682d611b", "sha256": "87297e50bfea7011cd4dc2f13741652d858acd018ffae98fd336fd20f53c8047" }, "downloads": -1, "filename": "rainbow_logging_handler-2.0.2.zip", "has_sig": false, "md5_digest": "eaa6b0c5e504f58972a29987682d611b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13547, "upload_time": "2013-12-05T07:14:51", "url": "https://files.pythonhosted.org/packages/04/4f/6dd733a4b43fbef7511ecc03ebc28a044f9dbe9fabc354608b6431f0dfd0/rainbow_logging_handler-2.0.2.zip" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "b49d9f38541166d26c9f089109020911", "sha256": "30b2e6220850bfa9068bd54fc04f512968de5cb954c1920dcb4c111783fa214d" }, "downloads": -1, "filename": "rainbow_logging_handler-2.1.0.zip", "has_sig": false, "md5_digest": "b49d9f38541166d26c9f089109020911", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14575, "upload_time": "2013-12-05T23:10:50", "url": "https://files.pythonhosted.org/packages/ac/7a/3360c010b6df357f20f53b1d88c9437a96a758ba85fcf5817d42b169aafe/rainbow_logging_handler-2.1.0.zip" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "7a6250358a6f1fe05bd7c19a2cac0a05", "sha256": "b126d2f33b708f6cd617664d1bc1dc1dafae331ebb7e1c3031971cd3ba594f65" }, "downloads": -1, "filename": "rainbow_logging_handler-2.1.1.zip", "has_sig": false, "md5_digest": "7a6250358a6f1fe05bd7c19a2cac0a05", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14651, "upload_time": "2013-12-19T22:25:56", "url": "https://files.pythonhosted.org/packages/0c/8e/eb01556d703a9507d037a8ea3b47d52b7014ec448c95069556c804ffd6ab/rainbow_logging_handler-2.1.1.zip" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "03c922e5d2959419b37177767b82afa0", "sha256": "4cbb69d0cc5059f785dca5f4cf04b7402e97300ee6ffe11c688856945496b293" }, "downloads": -1, "filename": "rainbow_logging_handler-2.1.2.zip", "has_sig": false, "md5_digest": "03c922e5d2959419b37177767b82afa0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14819, "upload_time": "2013-12-27T08:41:49", "url": "https://files.pythonhosted.org/packages/af/8a/0c384c61e26c768fb43841cf35b1dbdc47b3e0435bfbcc613bd42487727f/rainbow_logging_handler-2.1.2.zip" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "2c2758c566170dd8c9b2aae3c10f85bf", "sha256": "12c0a4cfd4e1dd72d2464e48a751207bd99ba4030ecb6942cddfea52a7ff0795" }, "downloads": -1, "filename": "rainbow_logging_handler-2.2.0.zip", "has_sig": false, "md5_digest": "2c2758c566170dd8c9b2aae3c10f85bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14951, "upload_time": "2014-01-12T23:52:05", "url": "https://files.pythonhosted.org/packages/95/0c/f2b1db77857698bbd9b6f61897ba1d7aae9b2c7856e70c5ab3c323c114cb/rainbow_logging_handler-2.2.0.zip" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "f409b436f16a6b57a12e9cd125bf41c6", "sha256": "49a0da055b634ce8188424ce34c3e48df486833b054c08eaeab6b40f2a8405d6" }, "downloads": -1, "filename": "rainbow_logging_handler-2.2.1.zip", "has_sig": false, "md5_digest": "f409b436f16a6b57a12e9cd125bf41c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13289, "upload_time": "2014-07-29T09:21:40", "url": "https://files.pythonhosted.org/packages/89/de/470950a8e1fe152d64853c90ef868392c6fa7690c964f203d5f4412b7800/rainbow_logging_handler-2.2.1.zip" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "e24f2cfa9d7f32dafcc6faffae62ee81", "sha256": "a504c20f1e074cc7f5a5b986c08eb6fb495c9153cffb36b5fa0a587de3a8db63" }, "downloads": -1, "filename": "rainbow_logging_handler-2.2.2.zip", "has_sig": false, "md5_digest": "e24f2cfa9d7f32dafcc6faffae62ee81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15109, "upload_time": "2014-08-06T23:43:22", "url": "https://files.pythonhosted.org/packages/3d/15/aa3cd5c46c709b2bc45e3f8612b6484bbc869d43f92dfc4a86b65e6a240a/rainbow_logging_handler-2.2.2.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e24f2cfa9d7f32dafcc6faffae62ee81", "sha256": "a504c20f1e074cc7f5a5b986c08eb6fb495c9153cffb36b5fa0a587de3a8db63" }, "downloads": -1, "filename": "rainbow_logging_handler-2.2.2.zip", "has_sig": false, "md5_digest": "e24f2cfa9d7f32dafcc6faffae62ee81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15109, "upload_time": "2014-08-06T23:43:22", "url": "https://files.pythonhosted.org/packages/3d/15/aa3cd5c46c709b2bc45e3f8612b6484bbc869d43f92dfc4a86b65e6a240a/rainbow_logging_handler-2.2.2.zip" } ] }