{ "info": { "author": "Yalei Du", "author_email": "yaleidu93@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Utilities" ], "description": "============\r\ncotimelog\r\n============\r\n\r\n**cotimelog**, inspired from [ConcurrentLogHandler](https://pypi.python.org/pypi/ConcurrentLogHandler/0.9.1).\r\nTo be honest, it is almost the same code. Just edit to make the log file rotated by time.\r\n\r\n\r\nInstallation\r\n============\r\n\r\n pip install cotimelog\r\n\r\n\r\nConcurrentTimeRotatingFileHandler\r\n---------------------------------\r\n\r\nThis class is a log handler which is a drop-in replacement for the python standard log handler\r\n``TimedRotatingFileHandler``.\r\nThe TimedRotatingFileHandler will failed to rotate when multiple processes are trying to\r\nwrite into the same file. You will meet this issue when you use uwsgi.\r\nThis ``ConcurrentTimeRotatingFileHandler`` class is mainly developed to fix this issue.\r\n\r\nUsage\r\n`````\r\n\r\nUsing ``ConcurrentTimeRotatingFileHandler`` ::\r\n\r\n import os\r\n import time\r\n from logging import getLogger, INFO\r\n from cotimelog import ConcurrentTimeRotatingFileHandler\r\n\r\n # Use an absolute path to prevent file rotation trouble.\r\n log = getLogger()\r\n logfile = os.path.abspath(\"mylogfile.log\")\r\n # Rotate log after 1 second\r\n rotateHandler = ConcurrentTimeRotatingFileHandler(logfile, mode=\"a\", when=\"S\", backupCount=5)\r\n log.addHandler(rotateHandler)\r\n log.setLevel(INFO)\r\n\r\n [log.info(str(i)) for i in range(10)]\r\n time.sleep(1)\r\n [log.info(str(i)) for i in range(10, 100)]\r\n\r\n\r\n\r\n\r\nLicense\r\n^^^^^^^\r\n\r\n`Apache License, Version 2.0 `_\r\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/badbye/timelog.git", "keywords": "log", "license": "Apache License, Version 2", "maintainer": "", "maintainer_email": "", "name": "cotimelog", "package_url": "https://pypi.org/project/cotimelog/", "platform": "", "project_url": "https://pypi.org/project/cotimelog/", "project_urls": { "Homepage": "https://github.com/badbye/timelog.git" }, "release_url": "https://pypi.org/project/cotimelog/0.2.0/", "requires_dist": null, "requires_python": "", "summary": "mixins for tornado", "version": "0.2.0" }, "last_serial": 3259163, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "5a978dce172cb72055b074940ee2361e", "sha256": "7618c33947b115fbb7cf20b0d158b3e72a963d732a4567cd8c2754d3a6b90eae" }, "downloads": -1, "filename": "cotimelog-0.1.0.tar.gz", "has_sig": false, "md5_digest": "5a978dce172cb72055b074940ee2361e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7249, "upload_time": "2017-10-18T08:22:59", "url": "https://files.pythonhosted.org/packages/82/96/ac48c009d386fe0fe1be808faa98f11daf2209ab9e6f151aaeb4433fadbb/cotimelog-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "921b6073c163cfd908fdacdee2a36c68", "sha256": "a3c46ad2f6f05733e5136985fd0c66d971e31c2ab8319380978500b27ec38a84" }, "downloads": -1, "filename": "cotimelog-0.1.1.tar.gz", "has_sig": false, "md5_digest": "921b6073c163cfd908fdacdee2a36c68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7259, "upload_time": "2017-10-18T08:24:57", "url": "https://files.pythonhosted.org/packages/74/bb/56c2833297de9ad0a7c0491b66195f6c780b43e41022947782df761e257b/cotimelog-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "c26b1e2fedb71ece308ab38a5832991a", "sha256": "5b72caa31917099c1c6cec9f3d55c6480545273b8b82f5f54d6ed8327e8f0e22" }, "downloads": -1, "filename": "cotimelog-0.1.2.tar.gz", "has_sig": false, "md5_digest": "c26b1e2fedb71ece308ab38a5832991a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7258, "upload_time": "2017-10-18T08:27:20", "url": "https://files.pythonhosted.org/packages/4f/ea/d7f9fd7bfbf24fa57ca97ce02ed49ca64d8a148ae28d2de3d5ae27e78534/cotimelog-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "53c671dced1fafba6337c3110bdc1752", "sha256": "124fde62c543d0cd180e2c4c7d07a781e203c1891b96236abd3123163f00192e" }, "downloads": -1, "filename": "cotimelog-0.1.3.tar.gz", "has_sig": false, "md5_digest": "53c671dced1fafba6337c3110bdc1752", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7226, "upload_time": "2017-10-18T09:01:33", "url": "https://files.pythonhosted.org/packages/e8/64/a471beb1d49298ad5b4b600420e97b9256fa5a02ef342d288e5ab9f5051d/cotimelog-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e33dcd06def003354032063f0d829fc0", "sha256": "564dc33e214d0df859a075e8346cadb8a7aaf47de1059a4447c05673d3590b56" }, "downloads": -1, "filename": "cotimelog-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e33dcd06def003354032063f0d829fc0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7630, "upload_time": "2017-10-18T09:25:13", "url": "https://files.pythonhosted.org/packages/b8/65/431666effdd0fddfcd78e937a7205e715b125096f7c90ab3d8882d4177b5/cotimelog-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e33dcd06def003354032063f0d829fc0", "sha256": "564dc33e214d0df859a075e8346cadb8a7aaf47de1059a4447c05673d3590b56" }, "downloads": -1, "filename": "cotimelog-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e33dcd06def003354032063f0d829fc0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7630, "upload_time": "2017-10-18T09:25:13", "url": "https://files.pythonhosted.org/packages/b8/65/431666effdd0fddfcd78e937a7205e715b125096f7c90ab3d8882d4177b5/cotimelog-0.2.0.tar.gz" } ] }