{"adoption": {"forks": 943, "observed_at": "2026-08-28T04:08:30.147880+00:00", "stars": 3939}, "canonical_url": "https://ross.abutalabs.com/products/easyloggingpp", "card": {"archived": true, "artifact_type": "library", "description": "C++ logging library. It is powerful, supports asynchronous low latency, extendable, light-weight, fast performing, thread and type safe and consists of many built-in features. It provides ability to write logs in your own customized format. It also provide support for logging your classes, third-party libraries, STL and third-party containers etc.", "domain": ["developer-tools", "cross-platform"], "enriched": true, "function": ["logging"], "health_score": 10, "homepage": null, "language": "C++", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["abumq/easyloggingpp"], "name": "abumq/easyloggingpp", "platform": ["cpp", "cross-platform", "windows"], "pushed_at": "2025-07-06T05:02:12+00:00", "repo": "abumq/easyloggingpp", "stars": 3939, "tags": ["single-header", "header-only", "thread-safe", "asynchronous-logging", "crash-handler", "stacktrace", "archived", "linux", "macos"], "topics": ["c-plus-plus-11", "logging", "efficient-logging", "cross-platform", "stacktrace", "c-plus-plus", "logging-library", "thread-safety", "performance-analysis", "crash-handler", "cpp", "language"], "urls": [], "use_cases": ["add logging to a C++ application with a single header", "write logs in a custom format", "log STL containers and third-party library types", "capture stack traces and handle crashes", "use asynchronous low-latency logging in multithreaded C++ code"], "what_it_is": "Easylogging++ is a single-header, MIT-licensed C++ logging library featuring asynchronous low-latency logging, custom formats, thread and type safety, and support for logging STL containers and third-party classes. The project is now archived and no longer maintained, with the author recommending spdlog for new projects.", "when_to_avoid": ["you are starting a new project and want actively maintained software", "you need ongoing bug fixes, security patches, or community support", "you want modern logging features and integrations available in spdlog"], "when_to_choose": ["you need a lightweight, single-header C++ logging solution with no dependencies", "you are maintaining an existing codebase already using Easylogging++", "you want a permissively licensed library you can fork and customize"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/easyloggingpp", "repo": "abumq/easyloggingpp", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.147880+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:24:37.935829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2416df9b9bbf1d28fdcb76a026565d66933058b5c381cb13745a05af00d1baa2", "fetched_at": "2026-08-28T04:08:30.147880+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abumq/easyloggingpp"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.147880+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:24:37.935829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2416df9b9bbf1d28fdcb76a026565d66933058b5c381cb13745a05af00d1baa2", "fetched_at": "2026-08-28T04:08:30.147880+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abumq/easyloggingpp"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:24:37.935829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2416df9b9bbf1d28fdcb76a026565d66933058b5c381cb13745a05af00d1baa2", "fetched_at": "2026-08-28T04:08:30.147880+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abumq/easyloggingpp"}], "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:30.147880+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.147880+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.147880+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:24:37.935829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2416df9b9bbf1d28fdcb76a026565d66933058b5c381cb13745a05af00d1baa2", "fetched_at": "2026-08-28T04:08:30.147880+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abumq/easyloggingpp"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.147880+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.147880+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:24:37.935829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2416df9b9bbf1d28fdcb76a026565d66933058b5c381cb13745a05af00d1baa2", "fetched_at": "2026-08-28T04:08:30.147880+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abumq/easyloggingpp"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.147880+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.147880+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.147880+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:24:37.935829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2416df9b9bbf1d28fdcb76a026565d66933058b5c381cb13745a05af00d1baa2", "fetched_at": "2026-08-28T04:08:30.147880+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abumq/easyloggingpp"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.147880+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.147880+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:24:37.935829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2416df9b9bbf1d28fdcb76a026565d66933058b5c381cb13745a05af00d1baa2", "fetched_at": "2026-08-28T04:08:30.147880+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abumq/easyloggingpp"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:24:37.935829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2416df9b9bbf1d28fdcb76a026565d66933058b5c381cb13745a05af00d1baa2", "fetched_at": "2026-08-28T04:08:30.147880+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abumq/easyloggingpp"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:24:37.935829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2416df9b9bbf1d28fdcb76a026565d66933058b5c381cb13745a05af00d1baa2", "fetched_at": "2026-08-28T04:08:30.147880+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abumq/easyloggingpp"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:24:37.935829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2416df9b9bbf1d28fdcb76a026565d66933058b5c381cb13745a05af00d1baa2", "fetched_at": "2026-08-28T04:08:30.147880+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abumq/easyloggingpp"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 30, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5092, "days_push": 423, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}