{"id":27185048,"url":"https://github.com/threefoldtech/tailstream","last_synced_at":"2025-04-09T17:10:15.973Z","repository":{"id":39636016,"uuid":"484032946","full_name":"threefoldtech/tailstream","owner":"threefoldtech","description":"logstream is a watch tool per file that when the file has more data it reads it and stream it to given endpoints","archived":false,"fork":false,"pushed_at":"2023-10-12T09:50:00.000Z","size":50,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-30T08:06:32.239Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/threefoldtech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-04-21T11:58:06.000Z","updated_at":"2022-04-25T14:58:54.000Z","dependencies_parsed_at":"2022-09-20T07:00:47.840Z","dependency_job_id":null,"html_url":"https://github.com/threefoldtech/tailstream","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Ftailstream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Ftailstream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Ftailstream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Ftailstream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/threefoldtech","download_url":"https://codeload.github.com/threefoldtech/tailstream/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248074976,"owners_count":21043490,"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":[],"created_at":"2025-04-09T17:10:15.460Z","updated_at":"2025-04-09T17:10:15.968Z","avatar_url":"https://github.com/threefoldtech.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"## tailstream\n`tailstream` is like `tail -f` but streams the output based on command line config. By default file is tailed and streamed to console (act like tail)\nbut you can configure the output to send the data differently\n\n### Output\nOutput is configured via the `--output` which accepts a url.\n\nCurrently tailstream supports three output types:\n- `console://` [default] this output prints the file content to console. It doesn't accept any extra arguments\n- `redis://[\u003cusername\u003e][:\u003cpassword\u003e@]\u003chostname\u003e[:port]/\u003cchannel\u003e`. All logs (chunks) are `PUBLISH`ED to the `channel`. `channel` can be any valid PUB/SUB redis channel name.\n- `ws[s]://\u003cserver\u003e[:port]/[path]`. All logs (chunks) are sent to the websocket as `binary` messages. The server then can decide what to do with the messages.\n\n### Compression\nBy default chunks are compressed with `gzip` compression algorithm. Currently the only supported compressions algorithms are:\n\n- `none`: no compression, chunks are pushed as is\n- `gzip`: [default] gzip compression.\n\n\u003e When compression is used, the receiver of the log chunks need to un-compress them before writing them again into a log file.\n\n\n## Usage\n```\ntailstream\nA tail like tool but tail the file to a configurable output module\n\nUSAGE:\n    tailstream [OPTIONS] \u003cFILE\u003e\n\nARGS:\n    \u003cFILE\u003e    file to watch\n\nOPTIONS:\n    -c, --compression \u003cCOMPRESSION\u003e    compression, compresses the log message (per chunk) so each\n                                       chunk of logs can be decompressed separately from previous\n                                       chunks ignored in case of `console` output [default: gzip]\n    -d, --debug                        enable debug logs\n    -h, --help                         Print help information\n    -o, --output \u003cOUTPUT\u003e              Output stream. defaults to console://. Other output supports\n                                       redis://[user:password@]\u003caddress[:port]\u003e\n                                       ws[s]://address[:port]/[prefix] [default: console://]\n    -t, --tail \u003cTAIL\u003e                  output the last TAIL bytes default to 8k [default: 8192]\n    -V, --version                      Print version information\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreefoldtech%2Ftailstream","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthreefoldtech%2Ftailstream","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreefoldtech%2Ftailstream/lists"}