{"id":15011629,"url":"https://github.com/kubware/kub-cpp-logger","last_synced_at":"2026-01-05T17:35:22.212Z","repository":{"id":194851605,"uuid":"690010695","full_name":"Kubware/kub-cpp-logger","owner":"Kubware","description":"Simple C++ logger with NuGet packing option","archived":false,"fork":false,"pushed_at":"2024-09-26T18:31:50.000Z","size":309,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-14T03:03:24.497Z","etag":null,"topics":["cpp","logger","nuget","nuget-package","static-library"],"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/Kubware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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-09-11T11:11:23.000Z","updated_at":"2024-09-26T18:31:54.000Z","dependencies_parsed_at":"2023-09-15T11:44:23.818Z","dependency_job_id":"b1bc8c83-a66d-4715-a698-5b40ab017bf6","html_url":"https://github.com/Kubware/kub-cpp-logger","commit_stats":{"total_commits":26,"total_committers":2,"mean_commits":13.0,"dds":"0.038461538461538436","last_synced_commit":"c78c759dc94802e2ec9440f0dfdf9e8dfdeacbf2"},"previous_names":["kubware/kub-cpp-logger"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kubware%2Fkub-cpp-logger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kubware%2Fkub-cpp-logger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kubware%2Fkub-cpp-logger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kubware%2Fkub-cpp-logger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kubware","download_url":"https://codeload.github.com/Kubware/kub-cpp-logger/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219849426,"owners_count":16556324,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cpp","logger","nuget","nuget-package","static-library"],"created_at":"2024-09-24T19:41:21.889Z","updated_at":"2026-01-05T17:35:22.105Z","avatar_url":"https://github.com/Kubware.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kubware C++ Logger\n\n**WARNING - UNDER DEVELOPMENT AND TESTING!!! - non-stable version**\n\n**Kubware C++ Logger** is simple console or file logger with basic 7 levels of severenity:\n\n - **MEMORY** - constructors, destructors, allocation, etc.\n - **VERBOSE** (**DEFAULT LEVEL**) - extra details, memory allocations, etc.\n - **DEBUG** - tracking of function steps.\n - **INFO** - tracking of program flow.\n - **WARNING** - something is not as expected, but program can continue.\n - **ERROR** - something is not working as expected, program execution is not successfull.\n - **FATAL** - there was critical error, program cannot continue.\n\nFor logging, there are special **#defines** like `LOG_INFO(\"Info log\");`for each level of severenity.\nExcept **FATAL** severenity, it is possible to add arguments to highlight specific values in logged message using **{0}** token, for example `LOG_INFO(\"Value: {0}\", 100);`. \nThe `LOG_FATAL(\"message\");` call will include function, source file and line location of log.\n\n## Using and installing - manual copy\n\nThere are two files containing the logger:\n\n - **Logger.h**\n - **Logger.cpp**\n\nYou can simply include the **Logger.cpp** and **Logger.h** files in your project and build together with your other source code.\n\n## Using and installing - NuGet package\n\nThis logger can be included as **NuGet** package in form of static library.\nTo build NuGet package, install **NuGet.CommandLine** package first.\nThan run next command in solution folder using *Package Manager Console*:\n\n```verbatim\n.\\packNuGet.bat\n```\n\nThe *packNuGet.bat* batch fille will create **NuGet** package in C:/NuGet folder, that can be referenced by *NuGet Package manager* as local source.\n\n## Versioning\n\nThe current logger version is defined in file *logger.h* at\n\n```c++\n#define LOGGER_VERSION \"1.0.0\"\n```\n\nand it is shown in logging after start.\nThe batch script *packNuGet.bat* reads this value and create package with the same version number.\n\n## Example\n\nLink *Logger.h* header file and **kub** namespace. \nNext code shows examples of logger usage:\n\n```c++\n#include \u003ciostream\u003e\n#include \"Logger.h\"\n\nusing namespace kub;\n\nint main()\n{\n    std::cout \u003c\u003c \"Kub C++ logger example:\" \u003c\u003c endl;\n\n    LOGGER_SETTINGS.level = kub::Logger::Severity::verbose; // by default\n    LOGGER_SETTINGS.trueValue = \"ON\";     // replace \"true\" to \"ON\"\n    LOGGER_SETTINGS.falseValue = \"OFF\";\n    LOGGER_FILESINK(true,\"log.txt\");      // turn on filesink\n\n    LOG_VERBOSE(\"Verbose log\");\n    LOG_DEBUG(\"Debug log\");\n    LOG_INFO(\"Info log\");\n    LOG_WARNING(\"Warning log\");\n    LOG_ERROR(\"Error log\");\n    LOG_FATAL(\"Fatal log\");\n    LOG_INFO(\"\");    \n    LOG_INFO(\"String argument: {0}\", \"Hello\");\n    LOG_INFO(\"Numbers arguments: int: {0} / short: {0}, float: {0} / double: {0} \",\n        1000, (short)255, 0.12f, 0.13);\n    LOG_INFO(\"Boolean argument: true: {0} / false: {0}\",\n        true, false);   \n\n    LOGGER_SETTINGS.level = kub::Logger::Severity::memory;\n\n    LOG_CONSTRUCTOR();\n    LOG_DESTRUCTOR();\n    LOG_CONSTRUCTOR_NAMED(\"Example 1\");\n    LOG_MEMORY(\"Allocating {0} bytes for {0}\", 1024, \"Example 2\");\n    LOG_MEMORY(\"Deallocating {0} bytes for {0}\", 1024, \"Example 2\");\n    LOG_DESTRUCTOR_NAMED(\"Example 1\");\n\n    system(\"pause\");\n}\n\n```\n\nExample code will produce formated and colored output:\n\n![demo](nuget/demo.png)\n\nCode `LOGGER_FILESINK(true,\"log.txt\");` will turn on logging into file *log.txt*:\n\n![logfile](nuget/logfile.png)\n\n## Licence\n\n**Kubware C++ Logger** is available under [MIT-licence](./LICENSE.md). \n\nThis is a hobby project without any external supervision or code review.\n\nCopyright \u0026copy; 2023 Kubware\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubware%2Fkub-cpp-logger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubware%2Fkub-cpp-logger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubware%2Fkub-cpp-logger/lists"}