{ "info": { "author": "Matteo Landi", "author_email": "matteo@matteolandi.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Other Environment", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.2", "Topic :: Text Processing :: Filters", "Topic :: Utilities" ], "description": "**logfilter** is a python application handy for real-time processing of very\nlong log files.\n\nTake the command ``tail -f``, combine it with ``grep -e PATTER [-e PATTERN\n...]``, and add a simple GUI enabling users to choose the log file to monitor\nand the filters to use: well, that is the essence of **logfilter** (or as other\nwould say, **logfilter** in a nutshell).\n\n\nDependencies\n============\n\n- Python with Tkinter support\n\n\nInstall\n=======\n\n**logfilter** can be installed using either the Bitbucket mercurial repository,\nor the Python Package Index (PyPI). If you feel lucky and you don't mind using\na possibly unstable application in order to benefit of the latest project\nfeatures, then choose the former. On the other hand, if you don't want to spend\ntime filing bug reports due to crashing applications, then the latter would be\ndefinitely the better option (... I hope).\n\nFrom sources::\n\n cd /wherever/you/want\n hg clone https://bitbucket.org/iamFIREcracker/logfilter\n python setup.py install\n\n\nFrom the PyPI::\n\n pip install logfilter\n\n\nUsage\n=====\n\nTo give you an idea of the configuration options available for **logfilter**,\nthis is the help of the application::\n\n\n usage: logfilter [-h] [-s SLEEP_INTERVAL] [-l LIMIT] [-e FILTERS]\n [--font FONT] [--version]\n [FILENAME]\n\n Filter the content of a file, dynamically\n\n positional arguments:\n FILENAME Filename to filter.\n\n optional arguments:\n -h, --help show this help message and exit\n -s SLEEP_INTERVAL, --sleep-interval SLEEP_INTERVAL\n Sleep SLEEP_INTERVAL seconds between iterations\n -l LIMIT, --limit LIMIT\n Number of lines to display in the text area\n -e FILTERS, --regexp FILTERS\n Filter presets\n --font FONT Font used by the application\n --version print the application version and quit\n\nDon't be scared, you don't need to configure all of them to start the\napplication; the GUI indeed, will let you customize them later. However,\nconsider to use command line options to create handy aliases or shortcuts.\n\nFor example, imagine you are about to work with log files containing among the\nother things, Java stack traces. You could think about launching the\napplication with the following options, in order to get notified as soon as\na new exception (and relative stack trace) is added to the observed file::\n\n python logfilter.py -e '([Ee]xception|\\tat)' LOGFILE.log\n\nMoreover, imagine you working on a new module being part of bigger project (all\nthe log traces coming from such a module, have a special ``FOO`` keyword\nassociated); then, to follow the live behavior of the module while still\nobserving exceptional events coming from the rest of the application, you could\nstart **logfilter** with the following options::\n\n python logfilter.py -e '([Ee]xception|\\tat)' -e FOO LOGFILE.log\n\n\nEdit files\n----------\n\nSince version *0.6.0dev*, it is possible to configure **logfilter** to open the\nmonitored file with an external editor.\n\nThe application will look for *special* environment variables (i.e.\n``LFEDITOR`` first, then ``VISUAL`` and finally ``EDITOR``) containing\ninformation regarding the external application to launch to edit the file at the\nline of interest.\n\nFor example, to make ``gvim`` your external editor, run ``logfilter`` as\nfollows::\n\n LFEDITOR=\"gvim FILE +ROW\" logfilter LOGFILE.log -e FOO\n\nOtherwise, if you are on Windows and prefer to use ``TextPad``::\n\n set LFEDITOR=\"C:\\Programs\\TextPad 4\\TextPad.exe\" FILE(ROW,0)& logfilter\n\nThe ``FILE`` and ``ROW`` markers will be automatically replaced by **logfilter**\nwith the name of the monitored file and with the current selected line\nrespectively.\n\n\nChangelog\n=========\n\n1.0.0 (2018-08-12) - made 0.8.0dev public\n\n0.8.0dev (2013-09-02):\n\n- ISSUE-31: it is now possible to add or remove filters dynamically at run-time\n (i.e. a new filter can be added focusing the text box containing the text\n ````, while old ones can be removed by blanking their text box).\n Contenxtually with this change, the command line switches `-f` and\n `--num-filters` have been removed.\n- ISSUE-29: add popup entry to enable/disable passthru behaviour (i.e. display\n all the lines and highlight only those bits matching filters). Contextually,\n the command line switches `-a` and `--catch-all` have been removed.\n- The application does not quit anymore if the `Escape` key is pressed.\n- Add `--version` command line switch.\n\n0.7.0dev (2012-12-08):\n\n- ISSUE-24: fix a bug where the selected text of the current line was not\n highlighted properly\n- ISSUE-27: add `--font` command line option to configure the font\n- ISSUE-28: fix a bug where multiple line end up being selected when a new line\n was rendered in the text widget\n- ISSUE-25: fix PY3K compatibility (there was a problem with local imports)\n\n0.6.0dev (2012-12-01):\n\n- ISSUE-23: add popup menu entry to disable *raise on output*\n- ISSUE-19: add popup menu entry to enable line greedy coloring (multiple\n matches for the same filter in the same line)\n- ISSUE-21: add support for opening the current file in a configured external\n editor\n\n0.5.0dev (2012-10-17):\n\n- ISSUE-18: add a catch-all filter (enabled with ``-a`` or ``--catch-all``)\n which force the application to output all the lines of the file. Moreover,\n the lines matching filters expressions, will be highlighted as well\n- ISSUE-15: remember last user directory while opening the file chooser dialog\n multiple times\n- ISSUE-16: add a popup menu entry which disable the *scroll on output* behavior\n\n0.4.0dev (2012-09-22):\n\n- Fix a bug where matched strings were not colored when the number of filters\n was greater than the size of the color palette\n- Install the application as a gui script (on Windows, do not open\n a ``cmd.exe``)\n\n0.3.1dev (2012-08-10):\n\n- Add right-click menu with an entry to clear the text widget (issue #10)\n- Better window focus management on new content read from the file (issue #12)\n- Add configuration setting to enable infinite scroll (issue #11)\n\n0.2.1dev (2012-07-07):\n\n- Add python 3.2 compatibility\n\n0.1.2dev (2012-06-27):\n\n- Better packaging (create a console script to run logfilter)\n\n0.1.1 (2012-06-25):\n\n- Add MANIFEST.in file (issue #9)\n\n0.1.0 (2012-06-02):\n\n- First public release", "description_content_type": "", "docs_url": null, "download_url": "http://pypi.python.org/pypi/logfilter", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/iamFIREcracker/logfilter", "keywords": "log,filter,grep,tail", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "logfilter", "package_url": "https://pypi.org/project/logfilter/", "platform": "", "project_url": "https://pypi.org/project/logfilter/", "project_urls": { "Download": "http://pypi.python.org/pypi/logfilter", "Homepage": "https://bitbucket.org/iamFIREcracker/logfilter" }, "release_url": "https://pypi.org/project/logfilter/1.0.0/", "requires_dist": null, "requires_python": "", "summary": "Poll log files for updates and highlight words based on regexp filters", "version": "1.0.0" }, "last_serial": 4161356, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "0769a8de42774b25c41d0ad3fdba7539", "sha256": "e30b8efa842b941744ba4b3fda273531aaafa985eaaad19fa74404b4a3603330" }, "downloads": -1, "filename": "logfilter-0.1.0-py2.7.egg", "has_sig": false, "md5_digest": "0769a8de42774b25c41d0ad3fdba7539", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 17167, "upload_time": "2012-06-02T16:51:01", "url": "https://files.pythonhosted.org/packages/31/6f/e08132878e077099cabfe5ab41892f7f5361051f9431453196fb4b404787/logfilter-0.1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "c9ca720edfc799d39faa16c928bf5d25", "sha256": "f36eb76c15239e0074b7f60b20b080bca837a6c1777ad6122bec3b0626ee787a" }, "downloads": -1, "filename": "logfilter-0.1.0.tar.gz", "has_sig": false, "md5_digest": "c9ca720edfc799d39faa16c928bf5d25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8324, "upload_time": "2012-06-02T16:51:03", "url": "https://files.pythonhosted.org/packages/5d/76/95329df92fa31de6b25804d5440ea4f3f367cb8dd13b03ffb1269f747707/logfilter-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "built for Linux-3.2.0-24-generic-x86_64-with-glibc2.7", "digests": { "md5": "ee0e4fc3511e2db9bb1b570ed4fe5a6e", "sha256": "9e7ff11e6ec8b9235cfb9b3f16e19dac6fa7a6e8c91efe9d89a9f95a2ec8174e" }, "downloads": -1, "filename": "logfilter-0.1.1.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "ee0e4fc3511e2db9bb1b570ed4fe5a6e", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 14522, "upload_time": "2012-06-25T07:41:54", "url": "https://files.pythonhosted.org/packages/ed/93/3e53f582433131bcf8cc381e594f9d1cbda10897de826347e8422d7df74b/logfilter-0.1.1.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "59121196dab7f1b8671c949c5334ebc7", "sha256": "4ed8fcec6c9e4f9d736d9778090e57bb8051ccb91e18f16fbec9bd7627296b1d" }, "downloads": -1, "filename": "logfilter-0.1.1.tar.gz", "has_sig": false, "md5_digest": "59121196dab7f1b8671c949c5334ebc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9605, "upload_time": "2012-06-25T07:41:52", "url": "https://files.pythonhosted.org/packages/0f/b9/1f8218579ab2de5b4181677512ad93e0c35be034e9cf89c208e7273db29c/logfilter-0.1.1.tar.gz" } ], "0.1.2dev": [ { "comment_text": "", "digests": { "md5": "9d71c33777d01750430264f2e5422280", "sha256": "e53a30d25f0ee6962cafd0364dc0d4bceba8ecdaa1a67c156c2120a4457fd2d6" }, "downloads": -1, "filename": "logfilter-0.1.2dev-py2.7.egg", "has_sig": false, "md5_digest": "9d71c33777d01750430264f2e5422280", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 17806, "upload_time": "2012-06-27T07:26:35", "url": "https://files.pythonhosted.org/packages/17/9e/379bc5ef1843078af6755240f4cf3d3c1ed3a113275e8e5d3cb454436918/logfilter-0.1.2dev-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "8c20fcd1e3a083377f06976fa5773896", "sha256": "1554028ecbf07fd1c2ffd29918547d319719203c3b53aafde29c5731a99db111" }, "downloads": -1, "filename": "logfilter-0.1.2dev.tar.gz", "has_sig": false, "md5_digest": "8c20fcd1e3a083377f06976fa5773896", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10871, "upload_time": "2012-06-27T07:26:34", "url": "https://files.pythonhosted.org/packages/58/60/00c91add8b46b246402bd6047de596875cfd97bc37caa6205c9bbb18fd1c/logfilter-0.1.2dev.tar.gz" } ], "0.2.1dev": [ { "comment_text": "", "digests": { "md5": "9f05d3b1e2515feeb1a3d569fb5fed8b", "sha256": "00da9410ae35c483c0867189176f7c8d1a2ff5d34625cd849e3dcee43f5fb482" }, "downloads": -1, "filename": "logfilter-0.2.1dev.tar.gz", "has_sig": false, "md5_digest": "9f05d3b1e2515feeb1a3d569fb5fed8b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9979, "upload_time": "2012-07-07T10:36:43", "url": "https://files.pythonhosted.org/packages/c5/5a/0c0b02f8eb3af9f34045d4471c6b8e567f497603e3930336def18236dc3e/logfilter-0.2.1dev.tar.gz" } ], "0.3.1dev": [ { "comment_text": "", "digests": { "md5": "c39ff2d3d5d394f390e27f5a6043ebb4", "sha256": "d1941c6d7341dc45681e5e966a533c9f0bf1532c4c77930c6808718166049e96" }, "downloads": -1, "filename": "logfilter-0.3.1dev.tar.gz", "has_sig": false, "md5_digest": "c39ff2d3d5d394f390e27f5a6043ebb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11389, "upload_time": "2012-08-10T07:50:14", "url": "https://files.pythonhosted.org/packages/76/60/c3b110385de17405c5f605ae8f2afbaf576873ab68c70068d30dcda92061/logfilter-0.3.1dev.tar.gz" } ], "0.4.0dev": [ { "comment_text": "", "digests": { "md5": "b4fa07632128c1a53f37876348933fdb", "sha256": "ecf1b9ff87d3fea495dc7b8f3bb4bf85bcace50bdbf8a18464add60f95d99c07" }, "downloads": -1, "filename": "logfilter-0.4.0dev.tar.gz", "has_sig": false, "md5_digest": "b4fa07632128c1a53f37876348933fdb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11586, "upload_time": "2012-09-22T07:27:49", "url": "https://files.pythonhosted.org/packages/53/e4/feada4616ceb34e44dd509800944098b78532dfa40ab7d31c968327c7ae9/logfilter-0.4.0dev.tar.gz" } ], "0.5.0dev": [ { "comment_text": "", "digests": { "md5": "9d4c600952047e298816bf36a609d9bb", "sha256": "96bfc300c18881369212d210ed183f9d2f010966cc00ab38d7295b50ca5c16e1" }, "downloads": -1, "filename": "logfilter-0.5.0dev.tar.gz", "has_sig": false, "md5_digest": "9d4c600952047e298816bf36a609d9bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12072, "upload_time": "2012-10-17T05:40:51", "url": "https://files.pythonhosted.org/packages/df/25/a856a930ad380c8dac07893d72662ccb04ecab0ec0a2816c7ed187ba9dbd/logfilter-0.5.0dev.tar.gz" } ], "0.6.0dev": [ { "comment_text": "", "digests": { "md5": "432aadcd9e0389c3c6c0469abf9f52e0", "sha256": "c4d2ceaa340cc88e19914f3e234d9f06a5d8a7ced3131667e090c8fa3087c449" }, "downloads": -1, "filename": "logfilter-0.6.0dev.tar.gz", "has_sig": false, "md5_digest": "432aadcd9e0389c3c6c0469abf9f52e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14351, "upload_time": "2012-12-01T18:48:40", "url": "https://files.pythonhosted.org/packages/ad/33/d12ca0a3e37833f147ecb7e888247bd525fda62405b7649ce69a9fc60374/logfilter-0.6.0dev.tar.gz" } ], "0.7.0dev": [ { "comment_text": "", "digests": { "md5": "c9cfc0a8f4786feebc6fd2b2ac8bc3f6", "sha256": "2c0eeda2485c0d646758c57dc22605b6dcdfd07a02fe7b4aff53dadd8a9b6c12" }, "downloads": -1, "filename": "logfilter-0.7.0dev.tar.gz", "has_sig": false, "md5_digest": "c9cfc0a8f4786feebc6fd2b2ac8bc3f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15030, "upload_time": "2012-12-08T16:59:23", "url": "https://files.pythonhosted.org/packages/aa/d3/5fbf5e9ce9a0f04c9c25d32aa70836d0c0c4ce351d7fc00ea6f4445c1f52/logfilter-0.7.0dev.tar.gz" } ], "0.8.0dev": [ { "comment_text": "", "digests": { "md5": "c1b1f1fa15c73e25f5fa4db37c137bf5", "sha256": "b36820fad3b435a44ca9962066e9dc92edd3673e46a257d0c0767e927cdbb768" }, "downloads": -1, "filename": "logfilter-0.8.0dev.tar.gz", "has_sig": false, "md5_digest": "c1b1f1fa15c73e25f5fa4db37c137bf5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17401, "upload_time": "2013-09-01T22:02:40", "url": "https://files.pythonhosted.org/packages/a8/bb/1be2229e07ec70122d86dc83c0f34b63da50fc13949a3b82434f222c981a/logfilter-0.8.0dev.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "930fdc3547423f586cb112bfb23e9a7b", "sha256": "e87257a3f6e67a309d088a1c0609573081638103b512e34188d9989890332fa0" }, "downloads": -1, "filename": "logfilter-1.0.0.tar.gz", "has_sig": false, "md5_digest": "930fdc3547423f586cb112bfb23e9a7b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14984, "upload_time": "2018-08-12T10:20:58", "url": "https://files.pythonhosted.org/packages/62/15/10691ba4a4f23465f6982b04bd4d2462efd23b9692e3f8afe7cc49f46a4d/logfilter-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "930fdc3547423f586cb112bfb23e9a7b", "sha256": "e87257a3f6e67a309d088a1c0609573081638103b512e34188d9989890332fa0" }, "downloads": -1, "filename": "logfilter-1.0.0.tar.gz", "has_sig": false, "md5_digest": "930fdc3547423f586cb112bfb23e9a7b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14984, "upload_time": "2018-08-12T10:20:58", "url": "https://files.pythonhosted.org/packages/62/15/10691ba4a4f23465f6982b04bd4d2462efd23b9692e3f8afe7cc49f46a4d/logfilter-1.0.0.tar.gz" } ] }