{"adoption": {"forks": 235, "observed_at": "2026-08-28T04:05:16.976566+00:00", "stars": 1651}, "canonical_url": "https://ross.abutalabs.com/products/msbuildstructuredlog", "card": {"archived": false, "artifact_type": "application", "description": "A logger for MSBuild that records a structured representation of executed targets, tasks, property and item values.", "domain": ["developer-tools", "documentation"], "enriched": true, "function": ["logging", "developer-tools", "gui", "cli", "serialization"], "health_score": 99, "homepage": null, "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["KirillOsenkov/MSBuildStructuredLog"], "name": "KirillOsenkov/MSBuildStructuredLog", "platform": ["windows", "cross-platform", "dotnet"], "pushed_at": "2026-08-20T02:15:12+00:00", "repo": "KirillOsenkov/MSBuildStructuredLog", "stars": 1651, "tags": ["msbuild", "binlog", "build-log", "log-viewer", "avalonia", "wpf", "csharp", "nuget", "command-line", "macos", "linux", "desktop"], "topics": ["msbuild", "nuget", "viewer", "avalonia", "csharp", "dotnet", "wpf"], "urls": [], "use_cases": ["investigate why my msbuild build is slow", "view msbuild binlog files interactively", "debug build errors with structured target and task logs", "record and share build logs for CI troubleshooting", "inspect msbuild property and item values during a build", "analyze dotnet build output in a searchable viewer"], "what_it_is": "A structured logger for MSBuild that records executed targets, tasks, properties, and item values into a portable binary format (*.binlog). It ships with a rich interactive log viewer (WPF on Windows, Avalonia on Mac/Linux) to simplify build investigations.", "when_to_avoid": ["you need logging for build systems other than MSBuild (e.g., Make, Gradle, Bazel)", "you only need simple console build output without structured analysis", "you are not working in the .NET/MSBuild ecosystem"], "when_to_choose": ["you build .NET projects with MSBuild or dotnet build and need to diagnose build issues", "you need a portable, structured build log format to share with teammates or CI", "you want a cross-platform GUI to explore large, verbose build logs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/msbuildstructuredlog", "repo": "KirillOsenkov/MSBuildStructuredLog", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.976566+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:45:01.286941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a51f610910b019a4ea6eb6ff6653c39b69b77b7738240b44170fd5ac11aac7db", "fetched_at": "2026-08-28T04:05:16.976566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/KirillOsenkov/MSBuildStructuredLog"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.976566+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:45:01.286941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a51f610910b019a4ea6eb6ff6653c39b69b77b7738240b44170fd5ac11aac7db", "fetched_at": "2026-08-28T04:05:16.976566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/KirillOsenkov/MSBuildStructuredLog"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:45:01.286941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a51f610910b019a4ea6eb6ff6653c39b69b77b7738240b44170fd5ac11aac7db", "fetched_at": "2026-08-28T04:05:16.976566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/KirillOsenkov/MSBuildStructuredLog"}], "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:16.976566+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.976566+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.976566+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:45:01.286941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a51f610910b019a4ea6eb6ff6653c39b69b77b7738240b44170fd5ac11aac7db", "fetched_at": "2026-08-28T04:05:16.976566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/KirillOsenkov/MSBuildStructuredLog"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.976566+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.976566+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:45:01.286941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a51f610910b019a4ea6eb6ff6653c39b69b77b7738240b44170fd5ac11aac7db", "fetched_at": "2026-08-28T04:05:16.976566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/KirillOsenkov/MSBuildStructuredLog"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.976566+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.976566+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.976566+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:45:01.286941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a51f610910b019a4ea6eb6ff6653c39b69b77b7738240b44170fd5ac11aac7db", "fetched_at": "2026-08-28T04:05:16.976566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/KirillOsenkov/MSBuildStructuredLog"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.976566+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.976566+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:45:01.286941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a51f610910b019a4ea6eb6ff6653c39b69b77b7738240b44170fd5ac11aac7db", "fetched_at": "2026-08-28T04:05:16.976566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/KirillOsenkov/MSBuildStructuredLog"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:45:01.286941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a51f610910b019a4ea6eb6ff6653c39b69b77b7738240b44170fd5ac11aac7db", "fetched_at": "2026-08-28T04:05:16.976566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/KirillOsenkov/MSBuildStructuredLog"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:45:01.286941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a51f610910b019a4ea6eb6ff6653c39b69b77b7738240b44170fd5ac11aac7db", "fetched_at": "2026-08-28T04:05:16.976566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/KirillOsenkov/MSBuildStructuredLog"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:45:01.286941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a51f610910b019a4ea6eb6ff6653c39b69b77b7738240b44170fd5ac11aac7db", "fetched_at": "2026-08-28T04:05:16.976566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/KirillOsenkov/MSBuildStructuredLog"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 98}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3773, "days_push": 14, "days_rel": 14, "gap_med": 11, "n_releases_24m": 44}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}