{ "info": { "author": "Nick Stenning", "author_email": "nick@whiteink.com", "bugtrack_url": null, "classifiers": [], "description": "Tagalog\n=======\n\nA set of commandline tools for manipulating logfiles on the fly.\n\n.. image:: https://travis-ci.org/alphagov/tagalog.png?branch=master\n :target: https://travis-ci.org/alphagov/tagalog\n\nNo longer a recommended solution\n--------------------------------\n\nWe would recommend that you used Lumberjack_ or Heka_. These both deal \nwith I/O in a better manner (non-blocking) and have a larger community around\nthem.\n\n.. _Lumberjack: https://github.com/jordansissel/lumberjack\n.. _Heka: https://github.com/mozilla-services/heka\n\nInstallation\n------------\n\nTagalog is available on PyPI_ and can be installed using pip_::\n\n $ pip install tagalog\n\n.. _PyPI: http://pypi.python.org/pypi\n.. _pip: http://www.pip-installer.org/\n\nUsage\n-----\n\nTagalog consists of a number of simple commandline utilities which help you do\nthings to logging data. Most of these tools assumes that it will receive log\ndata on STDIN, and emits some transformed log data on STDOUT.\n\nThe simplest tool in Tagalog is ``logstamp``, which simply prefixes each line\nit receives with a precise timestamp::\n\n $ seq 3 | logstamp\n 2013-02-09T18:52:57.893966Z 1\n 2013-02-09T18:52:57.894272Z 2\n 2013-02-09T18:52:57.894316Z 3\n\nOf course, you're probably not going find much use for ``logstamp`` if all you\ndo is pipe ``seq 3`` into it. Instead, use it to timestamp your application\nlogs::\n\n $ ruby myapp.rb | logstamp >app.log\n\nNext up is ``logtag``, which transforms each log line into a\nLogstash_-compatible JSON document. In addition to adding a ``@timestamp``\nfield, you can also add a list of tags to each document::\n\n $ seq 3 | logtag -a add_tags:sequence:foobar\n {\"@timestamp\": \"2013-05-10T10:38:22.103940Z\", \"@source_host\": \"lynx.local\",\n \"@message\": \"1\", \"@tags\": [\"sequence\", \"foobar\"]}\n {\"@timestamp\": \"2013-05-10T10:38:22.106518Z\", \"@source_host\": \"lynx.local\",\n \"@message\": \"2\", \"@tags\": [\"sequence\", \"foobar\"]}\n {\"@timestamp\": \"2013-05-10T10:38:22.106811Z\", \"@source_host\": \"lynx.local\",\n \"@message\": \"3\", \"@tags\": [\"sequence\", \"foobar\"]}\n\n.. _Logstash: http://logstash.net/\n\nAs you can see, Tagalog adds a ``@timestamp`` and ``@source_host`` field to each\ndocument by default.\n\nProbably the most useful tool in the box is ``logship``, which does everything\n``logtag`` does, but instead of simply printing the log data to STDOUT, it ships\nit somewhere else.::\n\n $ ruby myapp.rb | logship -s redis,redis://redis-1.internal:7777,redis://redis-2.internal:7778,redis://redis-3.internal:7779,key=mylogs\n\nDo ``logship -h`` to see available options.\n\n**NB**: ``logship`` is intended to be robust against failure of the log\nrecipients. If it fails to submit a log entry to one of the redis servers in\nits list, it will try the next one. If it cannot connect to any of them, it\nwill print a warning to STDERR but will otherwise carry on as normal. In the\nevent that it cannot submit to any server, it will simply drop the log entries\nto avoid building up a backlog that could later result in a `thundering\nherd`_.\n\n.. _thundering herd: http://en.wikipedia.org/wiki/Thundering_herd_problem\n\nLastly, there is ``logtext``, which does roughly the reverse of ``logtag``. It\nreads JSON documents on STDIN and translates them back into plain text::\n\n $ seq 3 | logtag -f init_txt | logtext\n 1\n 2\n 3\n\nLicense\n-------\n\nTagalog is released under the MIT license, a copy of which can be found in\n``LICENSE``.", "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/nickstenning/tagalog", "keywords": "sysadmin log logging redis tail", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "tagalog", "package_url": "https://pypi.org/project/tagalog/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/tagalog/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/nickstenning/tagalog" }, "release_url": "https://pypi.org/project/tagalog/0.5.0/", "requires_dist": null, "requires_python": null, "summary": "Tagalog: tools for manipulating, tagging and shipping log data", "version": "0.5.0" }, "last_serial": 1674090, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9dbe62fefd27a401c5506a409acf6d2c", "sha256": "c6b67080d0475788d21a6482d60d2fc1b0871c0be05c2cb6f6e121ef4abe8a6e" }, "downloads": -1, "filename": "tagalog-0.1.0.tar.gz", "has_sig": false, "md5_digest": "9dbe62fefd27a401c5506a409acf6d2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5421, "upload_time": "2013-02-09T19:15:54", "url": "https://files.pythonhosted.org/packages/7d/d5/088ac13c0420735050ddede92871749062c790d6c0dbf3432527d8a6b06e/tagalog-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d87b2cea9ca969c1285cc9751766493f", "sha256": "257bdf54dfffb3e70494e13b1355175b37b595e264e3a8c2f214f6f33d203a8e" }, "downloads": -1, "filename": "tagalog-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d87b2cea9ca969c1285cc9751766493f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8329, "upload_time": "2013-02-10T22:22:15", "url": "https://files.pythonhosted.org/packages/fd/07/787d41cf123c9699d732b1d4326d82ae5709617d6e0b34b46f27a0b73939/tagalog-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "1b023f08babfc4781688bfa3d1e267dd", "sha256": "4d01586326be2a6cd55626d80221db11976c9169b4aa7221e5e99f736bbaaf23" }, "downloads": -1, "filename": "tagalog-0.2.1.tar.gz", "has_sig": false, "md5_digest": "1b023f08babfc4781688bfa3d1e267dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9690, "upload_time": "2013-02-10T22:40:45", "url": "https://files.pythonhosted.org/packages/28/15/205d522c5513605ed0acbc709b96aab136579c02be5abdefc72d0c6e8903/tagalog-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "1d0051e32b6cc507e723f2882bbea777", "sha256": "7216afe3b3f8c1e64e9e9efe19658831789cbe3225b4988ae6364cf5aac6b540" }, "downloads": -1, "filename": "tagalog-0.2.2.tar.gz", "has_sig": false, "md5_digest": "1d0051e32b6cc507e723f2882bbea777", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8685, "upload_time": "2013-02-11T14:44:41", "url": "https://files.pythonhosted.org/packages/2f/5c/41228510046c10930ba7405db1ef25a371722af83856e40f0e29dbce6ebd/tagalog-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "58b6ee0b905ee580b02035d68961d2de", "sha256": "f3c4a9446ee533b44ac7141b8e9703045260b0ff283ce76f8d53d6000321eb16" }, "downloads": -1, "filename": "tagalog-0.2.3.tar.gz", "has_sig": false, "md5_digest": "58b6ee0b905ee580b02035d68961d2de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9703, "upload_time": "2013-03-22T10:44:03", "url": "https://files.pythonhosted.org/packages/7d/4d/aabcd03388bc2d8c09ba976109c74c2d961c66fd1762500dd2d18b2b4821/tagalog-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "7c9fd02b4135c2371da233a57f60f258", "sha256": "5c19be82d8621c0e116e518bdc037c0596e5b595d9493c01d7562368ea9e4e6a" }, "downloads": -1, "filename": "tagalog-0.2.4.tar.gz", "has_sig": false, "md5_digest": "7c9fd02b4135c2371da233a57f60f258", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9706, "upload_time": "2013-03-25T16:51:09", "url": "https://files.pythonhosted.org/packages/a3/e3/8fa1d63511acf04ba82979f0fdf9e27f9fdf27ecfe1758c7db7bbb6d99df/tagalog-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "2560aa2bd3df2ac45854f8cb6bff5456", "sha256": "94482b572aab151289dd72f227c7ffa6dffa051a24630aa461bf27a37f945f44" }, "downloads": -1, "filename": "tagalog-0.2.5.tar.gz", "has_sig": false, "md5_digest": "2560aa2bd3df2ac45854f8cb6bff5456", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10133, "upload_time": "2013-04-08T11:47:57", "url": "https://files.pythonhosted.org/packages/0a/67/6e2ebb301a8042c60e768e7786533f60e28e5e9bf7bc7b891514a216a4fa/tagalog-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "895a48e9ddb2a1af80812ccd574bb1b3", "sha256": "250fc045b50a08db85e4512ec7a930d0878de6bb5d056b2767746da2f70c3645" }, "downloads": -1, "filename": "tagalog-0.2.6.tar.gz", "has_sig": false, "md5_digest": "895a48e9ddb2a1af80812ccd574bb1b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10300, "upload_time": "2013-04-12T14:55:28", "url": "https://files.pythonhosted.org/packages/96/9a/9198f6face6f7223573c0144ab69faf13840836bf7a340b0e889f4d2c23a/tagalog-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "f122a0c9f03e284dbc44812bbba657d5", "sha256": "297ad00844d2221591b2339daae7f5c4edc5574274e19c4ff677292d1391f248" }, "downloads": -1, "filename": "tagalog-0.2.7.tar.gz", "has_sig": false, "md5_digest": "f122a0c9f03e284dbc44812bbba657d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10288, "upload_time": "2013-04-24T11:31:50", "url": "https://files.pythonhosted.org/packages/66/db/6a89670c736c3eb2aeb5e1201fbdc6e03b04d6421005ce2bc157f2807c82/tagalog-0.2.7.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "6bbde911198fed04e28cf72956032dcd", "sha256": "6247c4afbd215dede4af0c5b87be919984b86524f455b16afc5221de66871768" }, "downloads": -1, "filename": "tagalog-0.3.0.tar.gz", "has_sig": false, "md5_digest": "6bbde911198fed04e28cf72956032dcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11991, "upload_time": "2013-05-08T10:10:45", "url": "https://files.pythonhosted.org/packages/09/99/d77cc725253aad5587720f7c8c88d60fe488851d77b2025ea1c28e0c8440/tagalog-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "806da843bb322ffb6e1b8eb1e518bb85", "sha256": "8266f1dadab51a749708b38842348c19dbf9c7bfddabd9b0e655fc7cb9557fb8" }, "downloads": -1, "filename": "tagalog-0.3.1.tar.gz", "has_sig": false, "md5_digest": "806da843bb322ffb6e1b8eb1e518bb85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12141, "upload_time": "2013-05-08T16:58:16", "url": "https://files.pythonhosted.org/packages/ba/ee/ec3493cbbe916648634c0c36ed33bb49914708c47a13e49ca0da56fad6de/tagalog-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "c3de2e88e809d767b57aa8d379f3e1cc", "sha256": "82b5d1896027305fdeaeaa3202ebb42074ae2b1c88bf1f625437e68b9cedb9ef" }, "downloads": -1, "filename": "tagalog-0.3.2.tar.gz", "has_sig": false, "md5_digest": "c3de2e88e809d767b57aa8d379f3e1cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13066, "upload_time": "2013-06-20T08:48:58", "url": "https://files.pythonhosted.org/packages/89/b5/dc0fb231a7f138e7fa859dfdb30b9f9ec12cc4cb947fe6f403efd4e7d127/tagalog-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "fa31cada89ec92e212987ba1c204197a", "sha256": "8c689fd1b66375098e9cfdaeaed9da543d9198db8e8316625e0bfbfc778e7edf" }, "downloads": -1, "filename": "tagalog-0.4.0.tar.gz", "has_sig": false, "md5_digest": "fa31cada89ec92e212987ba1c204197a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13337, "upload_time": "2013-08-01T15:18:05", "url": "https://files.pythonhosted.org/packages/7e/e0/dbd7536ea5377f06f4fcb5e8e0d1602a0a6c0a44aa67147a58213b739844/tagalog-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "00157e5984a07865298a8b70f7de97cc", "sha256": "f33cafb9631fad4d9f13c4252a749f57de4b46a4790d1af89de46607b45510ba" }, "downloads": -1, "filename": "tagalog-0.5.0.tar.gz", "has_sig": false, "md5_digest": "00157e5984a07865298a8b70f7de97cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13691, "upload_time": "2014-07-09T11:16:09", "url": "https://files.pythonhosted.org/packages/a8/f3/3f75a54b9319a2d59fff355e9603b458d7a8ffb713a78e82066fbcb4a8e3/tagalog-0.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "00157e5984a07865298a8b70f7de97cc", "sha256": "f33cafb9631fad4d9f13c4252a749f57de4b46a4790d1af89de46607b45510ba" }, "downloads": -1, "filename": "tagalog-0.5.0.tar.gz", "has_sig": false, "md5_digest": "00157e5984a07865298a8b70f7de97cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13691, "upload_time": "2014-07-09T11:16:09", "url": "https://files.pythonhosted.org/packages/a8/f3/3f75a54b9319a2d59fff355e9603b458d7a8ffb713a78e82066fbcb4a8e3/tagalog-0.5.0.tar.gz" } ] }