{"adoption": {"forks": 127, "observed_at": "2026-08-28T04:05:32.939661+00:00", "stars": 1763}, "canonical_url": "https://ross.abutalabs.com/products/zlogger", "card": {"archived": false, "artifact_type": "library", "description": "Zero Allocation Text/Structured Logger for .NET with StringInterpolation and Source Generator, built on top of a Microsoft.Extensions.Logging.", "domain": ["developer-tools", "backend", "performance"], "enriched": true, "function": ["logging", "serialization"], "health_score": 85, "homepage": null, "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["Cysharp/ZLogger"], "name": "Cysharp/ZLogger", "platform": ["dotnet", "cross-platform"], "pushed_at": "2026-07-08T03:26:07+00:00", "repo": "Cysharp/ZLogger", "stars": 1763, "tags": ["zero-allocation", "structured-logging", "microsoft-extensions-logging", "source-generator", "unity", "utf8", "high-performance"], "topics": [], "urls": [], "use_cases": ["fast structured logging for ASP.NET Core apps", "zero-allocation logging in high-throughput .NET services", "cloud-native console logging for containers", "efficient file logging without per-write flush overhead", "logging in Unity games with Microsoft.Extensions.Logging", "output structured JSON logs via System.Text.Json"], "what_it_is": "ZLogger is a zero-allocation text and structured logging library for .NET and Unity, built on top of Microsoft.Extensions.Logging. It uses C# 10 interpolated string handlers and source generators to format logs directly in UTF8, avoiding boxing and encoding overhead for maximum performance.", "when_to_avoid": ["you need a logger with a large ecosystem of third-party sinks and integrations", "your target runtime is older than .NET 8 and you need the latest performance features", "you prefer configuration-driven logging APIs over interpolated string syntax"], "when_to_choose": ["you need the fastest possible logging with minimal allocations in .NET", "your app already uses Microsoft.Extensions.Logging and you want to avoid bridge overhead", "you want both text and structured (JSON) log output with the same API", "you run .NET 8+ or Unity and want interpolated-string-based logging"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/zlogger", "repo": "Cysharp/ZLogger", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.939661+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:26:44.555903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccdeaa29d349c6af5bac6e30d5e5994c520a4822b81c15004bfbe49b5e09a967", "fetched_at": "2026-08-28T04:05:32.939661+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Cysharp/ZLogger"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.939661+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:26:44.555903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccdeaa29d349c6af5bac6e30d5e5994c520a4822b81c15004bfbe49b5e09a967", "fetched_at": "2026-08-28T04:05:32.939661+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Cysharp/ZLogger"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:26:44.555903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccdeaa29d349c6af5bac6e30d5e5994c520a4822b81c15004bfbe49b5e09a967", "fetched_at": "2026-08-28T04:05:32.939661+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Cysharp/ZLogger"}], "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:32.939661+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.939661+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.939661+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:26:44.555903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccdeaa29d349c6af5bac6e30d5e5994c520a4822b81c15004bfbe49b5e09a967", "fetched_at": "2026-08-28T04:05:32.939661+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Cysharp/ZLogger"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.939661+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.939661+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:26:44.555903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccdeaa29d349c6af5bac6e30d5e5994c520a4822b81c15004bfbe49b5e09a967", "fetched_at": "2026-08-28T04:05:32.939661+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Cysharp/ZLogger"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.939661+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.939661+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.939661+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:26:44.555903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccdeaa29d349c6af5bac6e30d5e5994c520a4822b81c15004bfbe49b5e09a967", "fetched_at": "2026-08-28T04:05:32.939661+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Cysharp/ZLogger"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.939661+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.939661+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:26:44.555903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccdeaa29d349c6af5bac6e30d5e5994c520a4822b81c15004bfbe49b5e09a967", "fetched_at": "2026-08-28T04:05:32.939661+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Cysharp/ZLogger"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:26:44.555903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccdeaa29d349c6af5bac6e30d5e5994c520a4822b81c15004bfbe49b5e09a967", "fetched_at": "2026-08-28T04:05:32.939661+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Cysharp/ZLogger"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:26:44.555903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccdeaa29d349c6af5bac6e30d5e5994c520a4822b81c15004bfbe49b5e09a967", "fetched_at": "2026-08-28T04:05:32.939661+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Cysharp/ZLogger"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:26:44.555903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccdeaa29d349c6af5bac6e30d5e5994c520a4822b81c15004bfbe49b5e09a967", "fetched_at": "2026-08-28T04:05:32.939661+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Cysharp/ZLogger"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 91, "longevity": 100, "rhythm": 40}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2353, "days_push": 56, "days_rel": 604, "gap_med": 23.0, "n_releases_24m": 5}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}