{"adoption": {"forks": 476, "observed_at": "2026-08-28T04:08:31.742144+00:00", "stars": 3986}, "canonical_url": "https://ross.abutalabs.com/products/xcglogger", "card": {"archived": false, "artifact_type": "library", "description": "A debug log framework for use in Swift projects. Allows you to log details to the console (and optionally a file), just like you would have with NSLog() or print(), but with additional information, such as the date, function name, filename and line number.", "domain": ["developer-tools", "mobile-development", "desktop-applications"], "enriched": true, "function": ["logging", "developer-tools"], "health_score": 20, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["DaveWoodCom/XCGLogger"], "name": "DaveWoodCom/XCGLogger", "platform": ["cross-platform"], "pushed_at": "2024-07-02T13:12:43+00:00", "repo": "DaveWoodCom/XCGLogger", "stars": 3986, "tags": ["swift", "debugging", "cocoapods", "carthage", "swift-package-manager", "apple-platforms", "console-logging", "file-logging", "ios", "macos"], "topics": ["logging", "logging-library", "ios", "tvos", "macos", "watchos", "swift", "swift-library", "swift-framework", "debug", "debugging", "debugging-tool", "cocoapods", "xcglogger", "carthage", "swiftpm"], "urls": [], "use_cases": ["add structured debug logging to a Swift iOS app", "replace print() statements with logs that include file and line number", "write log output to a file on macOS or iOS", "log with severity levels in a Swift project", "debug a tvOS or watchOS application"], "what_it_is": "XCGLogger is a debug logging library for Swift projects that enhances log output with contextual details like date, function name, filename, and line number. It supports logging to the console, files, and custom destinations across Apple platforms.", "when_to_avoid": ["you need cross-platform logging outside Apple ecosystems", "you want a highly active project with frequent updates", "you need structured/JSON logging or log aggregation integrations out of the box"], "when_to_choose": ["you're building an iOS, macOS, tvOS, or watchOS app in Swift and want richer logs than print()", "you want a lightweight, mature Swift-native logging library with file destination support", "you need CocoaPods, Carthage, or Swift Package Manager integration"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/xcglogger", "repo": "DaveWoodCom/XCGLogger", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.742144+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:24:14.191074+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9af63cee72ebb46125e2c6248a14de2a071ee245c8186ea798926ca7c55e0e27", "fetched_at": "2026-08-28T04:08:31.742144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DaveWoodCom/XCGLogger"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.742144+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:24:14.191074+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9af63cee72ebb46125e2c6248a14de2a071ee245c8186ea798926ca7c55e0e27", "fetched_at": "2026-08-28T04:08:31.742144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DaveWoodCom/XCGLogger"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:24:14.191074+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9af63cee72ebb46125e2c6248a14de2a071ee245c8186ea798926ca7c55e0e27", "fetched_at": "2026-08-28T04:08:31.742144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DaveWoodCom/XCGLogger"}], "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:08:31.742144+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.742144+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.742144+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:24:14.191074+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9af63cee72ebb46125e2c6248a14de2a071ee245c8186ea798926ca7c55e0e27", "fetched_at": "2026-08-28T04:08:31.742144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DaveWoodCom/XCGLogger"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.742144+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.742144+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:24:14.191074+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9af63cee72ebb46125e2c6248a14de2a071ee245c8186ea798926ca7c55e0e27", "fetched_at": "2026-08-28T04:08:31.742144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DaveWoodCom/XCGLogger"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.742144+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.742144+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.742144+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:24:14.191074+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9af63cee72ebb46125e2c6248a14de2a071ee245c8186ea798926ca7c55e0e27", "fetched_at": "2026-08-28T04:08:31.742144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DaveWoodCom/XCGLogger"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.742144+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.742144+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:24:14.191074+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9af63cee72ebb46125e2c6248a14de2a071ee245c8186ea798926ca7c55e0e27", "fetched_at": "2026-08-28T04:08:31.742144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DaveWoodCom/XCGLogger"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:24:14.191074+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9af63cee72ebb46125e2c6248a14de2a071ee245c8186ea798926ca7c55e0e27", "fetched_at": "2026-08-28T04:08:31.742144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DaveWoodCom/XCGLogger"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:24:14.191074+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9af63cee72ebb46125e2c6248a14de2a071ee245c8186ea798926ca7c55e0e27", "fetched_at": "2026-08-28T04:08:31.742144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DaveWoodCom/XCGLogger"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:24:14.191074+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9af63cee72ebb46125e2c6248a14de2a071ee245c8186ea798926ca7c55e0e27", "fetched_at": "2026-08-28T04:08:31.742144+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DaveWoodCom/XCGLogger"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4468, "days_push": 792, "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}}