{"id":19968482,"url":"https://github.com/pecigonzalo/loro","last_synced_at":"2025-05-04T01:30:25.000Z","repository":{"id":36972803,"uuid":"155553510","full_name":"pecigonzalo/loro","owner":"pecigonzalo","description":"AWS CloudWatch Logs Tail","archived":false,"fork":false,"pushed_at":"2023-10-23T05:19:31.000Z","size":99,"stargazers_count":10,"open_issues_count":7,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-08T00:06:33.728Z","etag":null,"topics":["cloudwatch-logs","logs","tail"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pecigonzalo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-31T12:26:31.000Z","updated_at":"2024-02-10T23:56:27.000Z","dependencies_parsed_at":"2023-02-19T04:30:32.582Z","dependency_job_id":null,"html_url":"https://github.com/pecigonzalo/loro","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pecigonzalo%2Floro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pecigonzalo%2Floro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pecigonzalo%2Floro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pecigonzalo%2Floro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pecigonzalo","download_url":"https://codeload.github.com/pecigonzalo/loro/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252276955,"owners_count":21722447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudwatch-logs","logs","tail"],"created_at":"2024-11-13T02:45:55.570Z","updated_at":"2025-05-04T01:30:24.451Z","avatar_url":"https://github.com/pecigonzalo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# loro (Loro Only Repeats Output)\n\n![loro](https://media.giphy.com/media/5PSPV1ucLX31u/giphy-downsized.gif)\n\n## What?\n\n**loro** is a CLI to query AWS CloudWatch-Logs groups, streams and events.\n\n## Why?\n\nSometimes you just want to tail some logs.\n\n## How?\n\n### Get logs\n\nGet logs for a streamgroup:\n\n```\nloro get /streamgroup/\n```\n\nSelect a single stream:\n\n```\nloro get /streamgroup/ -p stream\n```\n\nPrint raw logs:\n\n```\nloro get -r /streamgroup/\n```\n\nTail a log:\n\n```\nloro get -f /streamgroup/\n```\n\n### Find streams or groups\n\nList streams\n\n```\nloro list streams /streamgroup/\n```\n\nList groups:\n\n```\nloro list groups /streamgroup/partialname\n```\n\n### Get help\n\nAll commands contain help documentation by using `--help` flag\n\n```\n\u003e loro get --help\nGet logs from a group or stream\n\nUsage:\n  loro get [flags]\n\nFlags:\n  -f, --follow            Follow log streams\n  -o, --format string     Format template for displaying log events (default \"[ {{ uniquecolor (print .Stream) }} ] {{ .TimeShort }} - {{ .Event.message }}\")\n  -h, --help              help for get\n  -m, --max-streams int   Maximum number of streams to fetch from (for prefix search) (default 10)\n  -p, --prefix string     Stream Name or prefix\n  -r, --raw               Raw JSON output\n  -s, --since string      Fetch logs since timestamp (e.g. 2013-01-02T13:23:37), relative (e.g. 42m for 42 minutes), or all for all logs (default \"1h\")\n  -u, --until string      Fetch logs until timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes) (default \"now\")\n\nGlobal Flags:\n      --config string   config file (default is $HOME/.loro.yaml)\n```\n\n#### Inspiration and Sources\n\n- https://github.com/segmentio/cwlogs\n- https://github.com/jorgebastida/awslogs\n- https://github.com/mmcquillan/lawsg\n\n#### Notes\n\nWhy create a new piece of software?\n\n- `segmentio/cwlogs` Is great, not only a big inspiration for LORO but also a big part of the lib codebase was forked from them. But, its built for supporting segment.io log format and while that makes sense and works great, its not generic enought for many other cases or supporting other log formats\n- `jorgebastida/awslogs` I believe binary distribution is better for this tool and golang is a more powerfull and faster language when dealing with many logs\n\nHence it made sense to separate the repository, but I still would like to credit again `segmentio/cwlogs` and the Segment team for their work as it provides the base for this software.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpecigonzalo%2Floro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpecigonzalo%2Floro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpecigonzalo%2Floro/lists"}