{ "info": { "author": "Alexander Schaefer", "author_email": "acschaefer@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# The duallog package\n\nPython package to enable simultaneous logging to console and logfile.\n\n![](./duallog_screenshot.png)\n[Duallog screenshot](https://github.com/acschaefer/duallog/blob/master/duallog_screenshot.png)\n\n## How to install duallog?\n\nYou can install duallog using [pip](https://www.w3schools.com/python/python_pip.asp), or you can install from source.\nBelow you find instructions for both ways.\n\n### Installation via pip\n\nIn the terminal, run `pip install duallog`.\n\n### Installation from source\n\n1. Download and unpack this repository.\n2. Open a terminal and navigate to the repository. \n3. Execute `python setup.py install` from within the repository.\n\n## How to use duallog?\n\nUsing duallog is very simple, as illustrated in the following minimal example script.\n\n```python\n# Import the duallog package to set up simultaneous logging to screen and console.\nimport duallog\n\n# Import the logging package to generate log messages.\nimport logging\n\n# Set up dual logging and tell duallog where to store the logfiles.\nduallog.setup('logtest')\n\n# Generate some log messages.\nlogging.debug('Debug messages are only sent to the logfile.')\nlogging.info('Info messages are not shown on the console, too.')\nlogging.warning('Warnings appear both on the console and in the logfile.')\nlogging.error('Errors get the same treatment.')\nlogging.critical('And critical messages, of course.')\n```\n\nThe output of this program is shown in the screenshot at the top of this page.\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/acschaefer/duallog", "keywords": "", "license": "MIT", "maintainer": "Alexander Schaefer", "maintainer_email": "", "name": "duallog", "package_url": "https://pypi.org/project/duallog/", "platform": "", "project_url": "https://pypi.org/project/duallog/", "project_urls": { "Homepage": "https://github.com/acschaefer/duallog" }, "release_url": "https://pypi.org/project/duallog/0.20/", "requires_dist": null, "requires_python": "", "summary": "Parallel logging to console and logfile", "version": "0.20" }, "last_serial": 4712198, "releases": { "0.11": [ { "comment_text": "", "digests": { "md5": "42f7c15b7d89cecbfcca9f00a55d1d1a", "sha256": "c5f41a8f2324cdda53dfae9d4c720bd629eb98c85775251ee9a191bd1590e4d2" }, "downloads": -1, "filename": "duallog-0.11-py2-none-any.whl", "has_sig": false, "md5_digest": "42f7c15b7d89cecbfcca9f00a55d1d1a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4504, "upload_time": "2018-12-06T20:48:24", "url": "https://files.pythonhosted.org/packages/f8/4f/c94f2d9b7b822f84e693e985f82828ca0a7dc20ba01a501dc5dbe7d691ac/duallog-0.11-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a586ea12d6287380c39ddd14a3fa4e8", "sha256": "c019b864a0edc91688a98c3d175d4d04cd5fb0bcf14af76eabaa577565d379fe" }, "downloads": -1, "filename": "duallog-0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "1a586ea12d6287380c39ddd14a3fa4e8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4505, "upload_time": "2018-12-06T20:48:27", "url": "https://files.pythonhosted.org/packages/22/02/a5d18a7af429d914d5a014891a71522e5ea4a4e1bebf983117e7f1b3b0a3/duallog-0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c5a7a8faad7fa8bf249e8d558a28bc3", "sha256": "df765342e8cbede2a05092f68836c7cf07933681dc483706d7685773b1c7de14" }, "downloads": -1, "filename": "duallog-0.11.tar.gz", "has_sig": false, "md5_digest": "4c5a7a8faad7fa8bf249e8d558a28bc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3258, "upload_time": "2018-12-06T20:48:28", "url": "https://files.pythonhosted.org/packages/7b/39/3be96ff925d9c2ad2408afb2711a03dd5cc41d4cc6d33047e5da7afefdad/duallog-0.11.tar.gz" } ], "0.12": [ { "comment_text": "", "digests": { "md5": "d714878503683cc267928fb49674cf90", "sha256": "70478a95a3fe0f83641d0bdfb5787a0d95f401b933c672a63421e5bd6d40d9e9" }, "downloads": -1, "filename": "duallog-0.12-py2-none-any.whl", "has_sig": false, "md5_digest": "d714878503683cc267928fb49674cf90", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4619, "upload_time": "2018-12-06T21:14:01", "url": "https://files.pythonhosted.org/packages/f4/ee/45c35c4a6c2f3f71f94034a84a83c6080ac54c179f75826d010b29c6bc54/duallog-0.12-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ec856e9095e43ae31a3b0738e287519", "sha256": "d46c7289b3fe900f65e752df476b3640992a46f071626b81eec9b5e59d201396" }, "downloads": -1, "filename": "duallog-0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "6ec856e9095e43ae31a3b0738e287519", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4622, "upload_time": "2018-12-06T21:14:02", "url": "https://files.pythonhosted.org/packages/c3/7f/fbcbd90461ba1e2702bfa50c2ec05ecbadf2d2320940a90331e6f24285d4/duallog-0.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc27956f52401496f972e1994b989c28", "sha256": "c4ca7a57b6db7ddef28c69c0f6feb91f4905cd6fa47f5f642649a6338f69c186" }, "downloads": -1, "filename": "duallog-0.12.tar.gz", "has_sig": false, "md5_digest": "fc27956f52401496f972e1994b989c28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3402, "upload_time": "2018-12-06T21:14:04", "url": "https://files.pythonhosted.org/packages/41/91/a336500c69c57b8f7cccd26c0959444601cd8333c1e2cd8ce381c628d3df/duallog-0.12.tar.gz" } ], "0.13": [ { "comment_text": "", "digests": { "md5": "140d6b2f17aff660f93a285ded6d7525", "sha256": "9c0911e05ba759210c8b74649473856dbc3809fb51d8a953336be2b58105a64b" }, "downloads": -1, "filename": "duallog-0.13-py2-none-any.whl", "has_sig": false, "md5_digest": "140d6b2f17aff660f93a285ded6d7525", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4621, "upload_time": "2018-12-06T21:16:53", "url": "https://files.pythonhosted.org/packages/4f/af/350bdf3bcc8ac358d07d568f5558e29668337d8beadd56239edd7c45db84/duallog-0.13-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c35989629c9d9c72c256e919dafc0b7", "sha256": "cf63c83f93834a76f69c2e052399b3560d3318e0db666210f37eccfc2bfef6aa" }, "downloads": -1, "filename": "duallog-0.13-py3-none-any.whl", "has_sig": false, "md5_digest": "9c35989629c9d9c72c256e919dafc0b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4621, "upload_time": "2018-12-06T21:16:54", "url": "https://files.pythonhosted.org/packages/24/fb/9e4420a89b19b4813b1f5040cbe56465848dc4f548df486bbb8b85b5a500/duallog-0.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cec944a623c60ac2345b14493241ddb8", "sha256": "603bdd959391447a9275c4d4e7d43b22f5b3559aaf57f6f6457272e4b4ffb3a6" }, "downloads": -1, "filename": "duallog-0.13.tar.gz", "has_sig": false, "md5_digest": "cec944a623c60ac2345b14493241ddb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3398, "upload_time": "2018-12-06T21:16:55", "url": "https://files.pythonhosted.org/packages/f1/d9/b996777ffb5e67b80bafc0f50afc4c280725348da5cc9702f0da0859a3f1/duallog-0.13.tar.gz" } ], "0.14": [ { "comment_text": "", "digests": { "md5": "1fa053494daff6f6654c51cbb655fb94", "sha256": "e636b6fce99453564b5f19b7825f4c94f66f290e1beec3e575d954c28f252c9d" }, "downloads": -1, "filename": "duallog-0.14-py2-none-any.whl", "has_sig": false, "md5_digest": "1fa053494daff6f6654c51cbb655fb94", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4619, "upload_time": "2018-12-06T22:44:47", "url": "https://files.pythonhosted.org/packages/53/43/ab09fe3ff4d8406270a27ff96a571d40c2a3875caef5584909ad782d3094/duallog-0.14-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a529a7868be01a803f0975b534ec65a7", "sha256": "de8e32e6441bb3a1f7f47eb1f6b24d069a256eb2fb53a428f95a69007bfb40d2" }, "downloads": -1, "filename": "duallog-0.14-py3-none-any.whl", "has_sig": false, "md5_digest": "a529a7868be01a803f0975b534ec65a7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4620, "upload_time": "2018-12-06T22:44:49", "url": "https://files.pythonhosted.org/packages/1d/2c/bfc769f9f0cc812ea650197ca3262ad2a72f4cb4a9c7a5aa3736e4a9cace/duallog-0.14-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1ab03e63e5f6faae988ea203a85c3620", "sha256": "fc42c6386615055220628e7adb808ef98d3c11052cab14cd0c90bb73c677bc59" }, "downloads": -1, "filename": "duallog-0.14.tar.gz", "has_sig": false, "md5_digest": "1ab03e63e5f6faae988ea203a85c3620", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3391, "upload_time": "2018-12-06T22:44:50", "url": "https://files.pythonhosted.org/packages/5f/b3/eeba96d08e7b66c8d527eb5e0f91ef3c8104781d567d3be65d577d4ac16c/duallog-0.14.tar.gz" } ], "0.15": [ { "comment_text": "", "digests": { "md5": "67947cd3fdc72229b788bf72d1e6bfd9", "sha256": "b648b5ef7712afefba7cc268f4f605db0f9dca2e40d3654e068dead607c55236" }, "downloads": -1, "filename": "duallog-0.15-py2.7.egg", "has_sig": false, "md5_digest": "67947cd3fdc72229b788bf72d1e6bfd9", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 5103, "upload_time": "2018-12-29T07:53:33", "url": "https://files.pythonhosted.org/packages/e5/e4/7e37eca8f0dcfdf31374872c43e9d2f0cd7eaac8d6ff7a57c13b7244ede8/duallog-0.15-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "73fe2ec06981690b8f758ba8b777e5e8", "sha256": "f6400b6263a2c267a2c19d625b80accbea477fecdf48abc33ac131510a55b4eb" }, "downloads": -1, "filename": "duallog-0.15-py2-none-any.whl", "has_sig": false, "md5_digest": "73fe2ec06981690b8f758ba8b777e5e8", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4170, "upload_time": "2018-12-07T01:14:13", "url": "https://files.pythonhosted.org/packages/cb/06/2bb8b86a2463d8671c8a39ecd8750f6abf60f5bffedfc8280775331de3ec/duallog-0.15-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d7d32f943a2e499e4ed1a5e51eb964bb", "sha256": "923b18952237ac26d51426b9b93855cf173fa84b3c4061a2f27732c5d6be61d3" }, "downloads": -1, "filename": "duallog-0.15-py3-none-any.whl", "has_sig": false, "md5_digest": "d7d32f943a2e499e4ed1a5e51eb964bb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4169, "upload_time": "2018-12-07T01:14:14", "url": "https://files.pythonhosted.org/packages/21/24/b7880d8b72876cf57dcdff81d5df3fe1a69953ee4a96b3a0e3288a7f508c/duallog-0.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6344d73820291ac7aca2ed3033305d2b", "sha256": "d4740b252bfd936ec390d1880cf786003be4fc149184a963629b40e21bcff3a4" }, "downloads": -1, "filename": "duallog-0.15.tar.gz", "has_sig": false, "md5_digest": "6344d73820291ac7aca2ed3033305d2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3071, "upload_time": "2018-12-07T01:14:15", "url": "https://files.pythonhosted.org/packages/52/8a/2c727aeb98b9dbd93a2b7f56ec30e14ce8d51bf3b3463f19c74ba8e6780a/duallog-0.15.tar.gz" } ], "0.16": [ { "comment_text": "", "digests": { "md5": "d950e52c9d60f9eab0a3235c50075265", "sha256": "7f2eba7d18b2dfac6c926c2ba29f2e4c601d09a49791da6d6fd342d26e8abb81" }, "downloads": -1, "filename": "duallog-0.16-py2.7.egg", "has_sig": false, "md5_digest": "d950e52c9d60f9eab0a3235c50075265", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 5068, "upload_time": "2018-12-29T07:53:35", "url": "https://files.pythonhosted.org/packages/96/45/75e9c484ea07e043358f20a24da800b3d4e2077314cb6555fa719f2a3ce5/duallog-0.16-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "346aed7c69f9ae22504dcf583974a96e", "sha256": "a0e9dfca44e05d02b8a3afceff90043f7a1ed7c27048fa20e8f4c6aa7334fe1b" }, "downloads": -1, "filename": "duallog-0.16-py2-none-any.whl", "has_sig": false, "md5_digest": "346aed7c69f9ae22504dcf583974a96e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4878, "upload_time": "2018-12-29T07:53:32", "url": "https://files.pythonhosted.org/packages/51/60/22ed6ba73a389c884717685bb15aa7297141e0c54459aa409a505948b90d/duallog-0.16-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7646f697e597d4ba7c29d2d8ce93067f", "sha256": "57db01eb558cb85e97660d70c17359c9a51ed38a3e8799083bb5419606d1e675" }, "downloads": -1, "filename": "duallog-0.16.tar.gz", "has_sig": false, "md5_digest": "7646f697e597d4ba7c29d2d8ce93067f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3021, "upload_time": "2018-12-29T07:53:37", "url": "https://files.pythonhosted.org/packages/ff/2e/e77fa0db1c9df111c2ed00e75e0a2e44c563dd6c551710e0ac01b5163e4b/duallog-0.16.tar.gz" } ], "0.17": [ { "comment_text": "", "digests": { "md5": "515bee20822a599fa9e624a4fd7828fe", "sha256": "f77d9a61abb268922a5caae09fa3276277e8135a129e178c38f540cce1e00734" }, "downloads": -1, "filename": "duallog-0.17-py2-none-any.whl", "has_sig": false, "md5_digest": "515bee20822a599fa9e624a4fd7828fe", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4942, "upload_time": "2018-12-29T08:01:09", "url": "https://files.pythonhosted.org/packages/84/ad/b8b1fcd7f9e9e6d6c7493162464a45d61399675562b404037a89386876e3/duallog-0.17-py2-none-any.whl" } ], "0.19": [ { "comment_text": "", "digests": { "md5": "bd66c139f06064cb938ee54519127d93", "sha256": "2b8b3274e8ec9802af94b8da2621bf9c2e3b5294dffb41ced93d8e6a0aa3c47b" }, "downloads": -1, "filename": "duallog-0.19-py2-none-any.whl", "has_sig": false, "md5_digest": "bd66c139f06064cb938ee54519127d93", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4232, "upload_time": "2019-01-11T14:03:37", "url": "https://files.pythonhosted.org/packages/f2/ea/e2ae6849dba3553b0a70d5a3f419e881f1547a9af339f727d0790c2381dc/duallog-0.19-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90398ece7e62a37226e4493f7d3d8958", "sha256": "770480768b47e34abc3e2654a75436798a2f6035391b142251ef18bc3d7b181f" }, "downloads": -1, "filename": "duallog-0.19.tar.gz", "has_sig": false, "md5_digest": "90398ece7e62a37226e4493f7d3d8958", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3100, "upload_time": "2019-01-11T14:03:38", "url": "https://files.pythonhosted.org/packages/f9/05/2d0aefd20489259d18ae22aea3e196a148e290f4885a7b095fd25141a4b7/duallog-0.19.tar.gz" } ], "0.20": [ { "comment_text": "", "digests": { "md5": "f6090a0da6ac465f53bb5039702abafb", "sha256": "3290d68096a999da9a373b13fe47660ae5115fb2d06037d89edd606eba8df014" }, "downloads": -1, "filename": "duallog-0.20-py2-none-any.whl", "has_sig": false, "md5_digest": "f6090a0da6ac465f53bb5039702abafb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4231, "upload_time": "2019-01-18T13:18:38", "url": "https://files.pythonhosted.org/packages/da/cd/64477821155b3e0dc490730783e61b7135d0da947f5d2231bbd32dbf67d8/duallog-0.20-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "07537c0294f89528d1ab4dabd134f518", "sha256": "8b40b15d28df1dcd6ec6e5df343f11b5e5aa1fdbf9c48899a05e6008721ff3b2" }, "downloads": -1, "filename": "duallog-0.20.tar.gz", "has_sig": false, "md5_digest": "07537c0294f89528d1ab4dabd134f518", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3107, "upload_time": "2019-01-18T13:18:39", "url": "https://files.pythonhosted.org/packages/ce/a9/0546d33724acd620630782dbc3f1c3ba2bd9df61f2f78dfc7c9e3342ef7f/duallog-0.20.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f6090a0da6ac465f53bb5039702abafb", "sha256": "3290d68096a999da9a373b13fe47660ae5115fb2d06037d89edd606eba8df014" }, "downloads": -1, "filename": "duallog-0.20-py2-none-any.whl", "has_sig": false, "md5_digest": "f6090a0da6ac465f53bb5039702abafb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4231, "upload_time": "2019-01-18T13:18:38", "url": "https://files.pythonhosted.org/packages/da/cd/64477821155b3e0dc490730783e61b7135d0da947f5d2231bbd32dbf67d8/duallog-0.20-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "07537c0294f89528d1ab4dabd134f518", "sha256": "8b40b15d28df1dcd6ec6e5df343f11b5e5aa1fdbf9c48899a05e6008721ff3b2" }, "downloads": -1, "filename": "duallog-0.20.tar.gz", "has_sig": false, "md5_digest": "07537c0294f89528d1ab4dabd134f518", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3107, "upload_time": "2019-01-18T13:18:39", "url": "https://files.pythonhosted.org/packages/ce/a9/0546d33724acd620630782dbc3f1c3ba2bd9df61f2f78dfc7c9e3342ef7f/duallog-0.20.tar.gz" } ] }