{"adoption": {"forks": 265, "observed_at": "2026-08-28T04:05:59.371483+00:00", "stars": 1960}, "canonical_url": "https://ross.abutalabs.com/products/logster", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Parse log files, generate metrics for Graphite and Ganglia", "domain": ["monitoring", "analytics", "developer-tools"], "enriched": true, "function": ["logging", "monitoring", "parser", "analytics", "cli"], "health_score": 20, "homepage": null, "language": "Python", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["etsy/logster"], "name": "etsy/logster", "platform": ["python", "cli"], "pushed_at": "2023-11-27T20:48:23+00:00", "repo": "etsy/logster", "stars": 1960, "tags": ["log-parsing", "graphite", "ganglia", "metrics", "log-tailing", "etsy", "devops", "command-line", "linux"], "topics": ["non-sox"], "urls": [], "use_cases": ["graph http response codes from web server logs", "generate metrics from log files for graphite", "track error log trends in near real time via cron", "parse custom log formats and export to statsd", "monitor application log events in cloudwatch"], "what_it_is": "Logster is a Python CLI utility that reads log files, applies regex-based parser classes to extract data, and emits metrics to outputs like Graphite, Ganglia, CloudWatch, Nagios, StatsD, or stdout. It maintains a tailing cursor per log file so cron-driven runs only process new entries, enabling near real-time metric trends.", "when_to_avoid": ["you need full log shipping or structured log aggregation rather than metrics", "you want a daemonized continuous tailer", "you need actively developed tooling with modern metric backends"], "when_to_choose": ["you want cron-driven, near real-time metrics extracted from log files", "you need pluggable regex parsers and multiple metric backends", "you prefer simple python parser scripts over log-shipping pipelines"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/logster", "repo": "etsy/logster", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.371483+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:05:44.152303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26830458173eb730bd30f98a7d7a512a26a200ab531425e26767124ec7791ef5", "fetched_at": "2026-08-28T04:05:59.371483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etsy/logster"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.371483+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:05:44.152303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26830458173eb730bd30f98a7d7a512a26a200ab531425e26767124ec7791ef5", "fetched_at": "2026-08-28T04:05:59.371483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etsy/logster"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:05:44.152303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26830458173eb730bd30f98a7d7a512a26a200ab531425e26767124ec7791ef5", "fetched_at": "2026-08-28T04:05:59.371483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etsy/logster"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.371483+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.371483+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.371483+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:05:44.152303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26830458173eb730bd30f98a7d7a512a26a200ab531425e26767124ec7791ef5", "fetched_at": "2026-08-28T04:05:59.371483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etsy/logster"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.371483+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.371483+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:05:44.152303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26830458173eb730bd30f98a7d7a512a26a200ab531425e26767124ec7791ef5", "fetched_at": "2026-08-28T04:05:59.371483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etsy/logster"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.371483+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.371483+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.371483+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:05:44.152303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26830458173eb730bd30f98a7d7a512a26a200ab531425e26767124ec7791ef5", "fetched_at": "2026-08-28T04:05:59.371483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etsy/logster"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.371483+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.371483+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:05:44.152303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26830458173eb730bd30f98a7d7a512a26a200ab531425e26767124ec7791ef5", "fetched_at": "2026-08-28T04:05:59.371483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etsy/logster"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:05:44.152303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26830458173eb730bd30f98a7d7a512a26a200ab531425e26767124ec7791ef5", "fetched_at": "2026-08-28T04:05:59.371483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etsy/logster"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:05:44.152303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26830458173eb730bd30f98a7d7a512a26a200ab531425e26767124ec7791ef5", "fetched_at": "2026-08-28T04:05:59.371483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etsy/logster"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:05:44.152303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26830458173eb730bd30f98a7d7a512a26a200ab531425e26767124ec7791ef5", "fetched_at": "2026-08-28T04:05:59.371483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etsy/logster"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5654, "days_push": 1010, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}