{"id":37185787,"url":"https://github.com/kylemcc/cwlog","last_synced_at":"2026-01-14T21:32:16.655Z","repository":{"id":42739387,"uuid":"266242380","full_name":"kylemcc/cwlog","owner":"kylemcc","description":"tee(1) for CloudWatch Logs","archived":false,"fork":false,"pushed_at":"2025-01-01T01:08:13.000Z","size":291,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-01T02:18:56.164Z","etag":null,"topics":["aws","cloudwatch","cloudwatch-logs","go","tee"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kylemcc.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-23T01:42:03.000Z","updated_at":"2025-01-01T01:08:10.000Z","dependencies_parsed_at":"2024-02-05T06:24:22.903Z","dependency_job_id":"0dddb9d9-983f-4332-a944-787e9d490b9c","html_url":"https://github.com/kylemcc/cwlog","commit_stats":{"total_commits":89,"total_committers":2,"mean_commits":44.5,"dds":0.4157303370786517,"last_synced_commit":"14db41b8b381ecd961937b8bc965ebe80b80b027"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/kylemcc/cwlog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kylemcc%2Fcwlog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kylemcc%2Fcwlog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kylemcc%2Fcwlog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kylemcc%2Fcwlog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kylemcc","download_url":"https://codeload.github.com/kylemcc/cwlog/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kylemcc%2Fcwlog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28435122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T18:57:19.464Z","status":"ssl_error","status_checked_at":"2026-01-14T18:52:48.501Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["aws","cloudwatch","cloudwatch-logs","go","tee"],"created_at":"2026-01-14T21:32:15.860Z","updated_at":"2026-01-14T21:32:16.637Z","avatar_url":"https://github.com/kylemcc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cwlog\n\nA tee(1)-like utility for piping logs to a CloudWatch Logs log stream. This is useful for sending standard output\nof another command or application to cloudwatch logs.\n\n## Usage\n\n```sh\ncwlog -  A tee(1)-like command for piping output to CloudWatch Logs.\n\nThis program will read line-oriented data from standard input and send\nlog events to CloudWatch Logs. If the specified log group and/or log stream\ndo not exist, cwlog will attempt to create them. CloudWatch Logs also\nrequires a sequence token for existing streams that already contain log\nevents. If an existing stream is specified, cwlog will automatically\nretrieve the next sequence token.\n\nThe execution of this program is optimized for the scenario where it is\ninvoked with an existing-but-empty log stream. It first attempts to write to\nthe specified log stream, and only tries to create the log group or log stream\nif it receives an error.\n\nUsage: cwlog \u003ccommand\u003e\n\nFlags:\n\n  -g, --log-group   (Required) The name of the log group where logs should be sent. The program will attempt to create this if it does not exist. [env CWLOG_LOG_GROUP=] (default: \u003cnone\u003e)\n  -s, --log-stream  (Required) The name of the log stream where logs should be sent. The program will attempt to create this if it does not exist. [env CWLOG_LOG_STREAM=] (default: \u003cnone\u003e)\n  -t, --tee         If true, output will be copied to stdout (default: true)\n\nCommands:\n\n  version  Show the version information.\n```\n\nFirst, configure your environment with credentials that have access to CloudWatch Logs. This tool uses the Go AWS SDK, which loads\ncredentials as described [here][1].\n\nNext, pipe the log that should be sent to CloudWatch Logs to `cwlog`:\n\n```sh\n# Send a single command's output:\n$ some-command-with-log-output | cwlog -g my-log-group -s my-log-stream\n\n# Use environment variables to configure cwlog\n$ export CWLOG_LOG_GROUP=my-log-group\n$ export CWLOG_LOG_STREAM=my-log-stream\n$ some-command | cwlog\n\n# Use command grouping to capture multiple commands more efficiently:\n$ { command-1; command-2; command-3 } | cwlog\n```\n\n[1]: https://docs.aws.amazon.com/sdk-for-go/api/aws/session/#hdr-Credential_and_config_loading_order\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkylemcc%2Fcwlog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkylemcc%2Fcwlog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkylemcc%2Fcwlog/lists"}