{"id":19175291,"url":"https://github.com/naguales/logix","last_synced_at":"2026-06-15T06:03:01.106Z","repository":{"id":205592711,"uuid":"711187714","full_name":"Naguales/logix","owner":"Naguales","description":"Logix is a lightweight, thread-safe logging library designed for C++11.","archived":false,"fork":false,"pushed_at":"2024-01-18T13:17:07.000Z","size":301,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-23T00:45:40.353Z","etag":null,"topics":["async","cpp","cpp11","log-library","logger","logging"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Naguales.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-28T13:28:23.000Z","updated_at":"2023-11-05T11:51:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"d1c4b12c-55f8-4309-a6cd-3ff771b5cf26","html_url":"https://github.com/Naguales/logix","commit_stats":null,"previous_names":["naguales/logix"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Naguales/logix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naguales%2Flogix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naguales%2Flogix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naguales%2Flogix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naguales%2Flogix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Naguales","download_url":"https://codeload.github.com/Naguales/logix/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naguales%2Flogix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34349931,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async","cpp","cpp11","log-library","logger","logging"],"created_at":"2024-11-09T10:22:29.426Z","updated_at":"2026-06-15T06:03:01.092Z","avatar_url":"https://github.com/Naguales.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eLogix\u003c/h1\u003e\n  \u003cp\u003e\u003cb\u003eAsynchronous and Lightweight C++11 Logging Library\u003c/b\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n- [Logix](#logix)\n- [Features](#features)\n- [Basic Usage](#basic-usage)\n- [Performance](#performance)\n- [Output](#output)\n- [Architecture](#architecture)\n- [License](#license)\n\n# Logix\nLogix is a lightweight, thread-safe logging library designed for C++11.\nIt includes essential logger entities and architecture.\n\n## Features\n - Support for **Multiple Logging Targets** (extensible), including:\n\t- File logging.\n\t- Console logging with color support.\n - **Log different data types**:\n   - Fundamentals (char, bool, integers, floats)\n   - Strings (const char pointer, string)\n   - Custom structures (when adapted)\n - **Asynchronous logging** via thread pool\n - **Log filtering**\n \n## Platforms\n* Windows (MSVC 2022 tested)\n* Linux\n\n## Basic Usage\n```c++\n#include \"Logix.h\"\n\n/** \n * An example of the asynchronous logger usage.\n */\nvoid main()\n{\n\t// The default initialization for using the asynchronous logger.\n\tlogix::defaultInitialization();\n\n\t// By default, the trace log level is utilized.\n\t// Setting the log level is optional.\n\tlogix::loggerPtr()-\u003esetLevel(logix::LogLevel::Trace);\n\n\t// Cleanup is required after you've finished using the asynchronous logger.\n\tauto onExit = sg::make_scope_guard([\u0026]() { logix::finalize(); });\n\n\t// Log to all registered sinks, in this case: file and console.\n\tLOG_ERROR \u003c\u003c \"This represents an ERROR log entry\";\n\tLOG_WARNING \u003c\u003c fmt::format(\"This represents a {} log entry {}\",\n\t\tlogLevelToString(logix::LogLevel::Warning), std::numeric_limits\u003cint\u003e::min());\n\tLOG_INFO \u003c\u003c fmt::format(\"This represents an {} log entry {}\",\n\t\tlogLevelToString(logix::LogLevel::Info), M_PI);\n\tLOG_DEBUG \u003c\u003c fmt::format(\"This represents a {} log entry {}\",\n\t\tlogLevelToString(logix::LogLevel::Debug), std::numeric_limits\u003csize_t\u003e::max());\n\tLOG_TRACE \u003c\u003c fmt::format(\"This represents a {} log entry {}\",\n\t\tlogLevelToString(logix::LogLevel::Trace), std::numeric_limits\u003cdouble\u003e::max());\n}\n```\n\n```c++\n#include \"Logix.h\"\n\n/**\n * An example of the synchronous logger usage.\n */\nvoid main()\n{\n\t// The default initialization for using the synchronous logger.\n\tlogix::defaultInitialization(false);\n\tlogix::loggerPtr()-\u003esetLevel(logix::LogLevel::Debug);\n\n\t// Log to all registered sinks, in this case: file and console.\n\tLOG_ERROR \u003c\u003c \"This represents an ERROR log entry\";\n\tLOG_WARNING \u003c\u003c fmt::format(\"This represents a {} log entry {}\",\n\t\tlogLevelToString(logix::LogLevel::Warning), std::numeric_limits\u003cint\u003e::min());\n\tLOG_INFO \u003c\u003c fmt::format(\"This represents an {} log entry {}\",\n\t\tlogLevelToString(logix::LogLevel::Info), M_PI);\n\tLOG_DEBUG \u003c\u003c fmt::format(\"This represents a {} log entry {}\",\n\t\tlogLevelToString(logix::LogLevel::Debug), std::numeric_limits\u003csize_t\u003e::max());\n\tLOG_TRACE \u003c\u003c fmt::format(\"This represents a {} log entry {}\",\n\t\tlogLevelToString(logix::LogLevel::Trace), std::numeric_limits\u003cdouble\u003e::max());\n}\n```\n## Performance\n\n### Latency\n\nThe following message is logged a total of 100,000 times, with varying thread counts:\n`LOG_INFO \u003c\u003c fmt::format(\"Reference message {}: {} ~ {}\", i, 1.61803398875, M_PI)`.\n\nThe table below showcases latency measurements per message in nanoseconds (ns).\n\n| Thread count | Latency per message, ns |\n|:------------:|:-----------------------:|\n|      1       |          1257           |\n|      4       |           679           |\n|      8       |           710           |\n|     16       |           957           |\n\nTest machine configuration:\n- OS: Windows 11\n- CPU: Intel(R) Core(TM) i7-11700K @ 3.60GHz\n- RAM: 64 GB\n\n## Output\n[![LogixConsole.png](https://github.com/Naguales/logix/assets/12149564/c35d6ea7-2760-4804-824a-25e0752c8465)](https://github.com/Naguales/logix/assets/12149564/c35d6ea7-2760-4804-824a-25e0752c8465)\n\n## Architecture\n![Logix Architecture](https://github.com/Naguales/logix/assets/12149564/6faa2429-2814-4605-bf39-d1bd8531e4c4)\n\n## License\nLogix is licensed under the [MIT License](http://opensource.org/licenses/MIT)\n\nLogix depends on third party libraries with separate copyright notices and license terms.\nYour use of the source code for these subcomponents is subject to the terms and conditions of the following licenses.\n\n- ([MIT License](http://opensource.org/licenses/MIT)) {fmt} (https://github.com/fmtlib/fmt/blob/master/LICENSE)\n- ([BSD 3-Clause](https://opensource.org/license/bsd-3-clause/)) googletest (https://github.com/google/googletest/blob/main/LICENSE)\n- (The Unlicense) scope_guard (https://github.com/ricab/scope_guard/blob/main/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaguales%2Flogix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnaguales%2Flogix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaguales%2Flogix/lists"}