{"id":23237732,"url":"https://github.com/thecompez/elogger","last_synced_at":"2025-08-19T23:32:32.700Z","repository":{"id":157907435,"uuid":"308970528","full_name":"TheCompez/eLogger","owner":"TheCompez","description":"eLogger is a modern cross-platform logger","archived":false,"fork":false,"pushed_at":"2021-11-28T07:57:46.000Z","size":367,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-19T20:53:02.500Z","etag":null,"topics":["cpp20","cross-platform","event-logger","logger"],"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/TheCompez.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}},"created_at":"2020-10-31T20:56:49.000Z","updated_at":"2024-04-07T10:46:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"a51774fc-3912-4410-b77f-b99077be64f5","html_url":"https://github.com/TheCompez/eLogger","commit_stats":null,"previous_names":["thecompez/elogger"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCompez%2FeLogger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCompez%2FeLogger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCompez%2FeLogger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCompez%2FeLogger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheCompez","download_url":"https://codeload.github.com/TheCompez/eLogger/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230374251,"owners_count":18216044,"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":["cpp20","cross-platform","event-logger","logger"],"created_at":"2024-12-19T04:14:45.602Z","updated_at":"2024-12-19T04:14:46.005Z","avatar_url":"https://github.com/TheCompez.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eLogger\neLogger is a modern efficient **cross-platform** logger\n\n**Note :** This library is not yet complete and conceptually under development.\n\n[![forthebadge](https://forthebadge.com/images/badges/made-with-c-plus-plus.svg)](https://forthebadge.com)\n\n[![Total alerts](https://img.shields.io/lgtm/alerts/g/Kambiz-Asadzadeh/Kavenegar.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/Kambiz-Asadzadeh/RestService/alerts/)\n[![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/Kambiz-Asadzadeh/Kavenegar.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/Kambiz-Asadzadeh/RestService/context:cpp)\n![Language iso: C++](https://img.shields.io/badge/C%2B%2B-17-blue)\n![Version](https://img.shields.io/badge/Version-0.4-lightgrey)\n![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux%20%7C%20iOS%20%7C%20Android%20%7C%20Web-lightgrey)\n\n**Platform Support**\n- [x] Windows\n- [x] macOS\n- [x] Linux\n- [ ] FreeBSD (Under Development)\n- [ ] Android (Under Development)\n- [ ] iOS (Under Development)\n\n## Installation\n\u003cp\u003e\nJust add into your project :) And go on!\n\u003c/p\u003e\n\n## Building\n\n- You need CMake tool for building source code\n- All source code is written with Pure STL 1z (C++17)\n- MSVC 2017, GCC8.x or Clang 9.x\n- Add eLogger.dll [on Windows], libeLogger.dylib [on macOS] or libeLogger.so [on Linux] for your project as external library. you can compile it by static mode.\n- Import SDK common header ```#include \u003ceLogger\u003e```\n\n**Note:** In order to build the create, your compiler must support C++17 features.\n\n**Building extra option in CMake**\n```\ncmake .. -DENABLE_SAFE_ONLY=true \ncmake .. -DENABLE_SAFTY_MODE=true \n```\n\n## Usage Example\n\n- You can set logger state by building tools variable such as CMake or QMake by ```ELOGGER_BUILD_DEBUG_MODE``` variable.\n```\nCMAKE:\nset(ELOGGER_BUILD_DEBUG_MODE true)\nQMAKE:\nDEFINES += ELOGGER_BUILD_DEBUG_MODE\n```\n- Or you can set this option as c++ boolean type\n```cpp\nDeveloperMode::IsEnable = true; //false means you can't print any logs.\n```\n- You can specify the settings of log level:\n\n```cpp\neLogger::Logger::LoggerModel = eLogger::Mode::User;\n```\n\n- And then, you can check developer mode if it was enable!\n\n```cpp\nif(isset(DeveloperMode::IsEnable)) {\n        eLogger::Log(\"Info Message      : \" , LoggerType::Info);\n        eLogger::Log(\"Default Message   : \" , LoggerType::Default);\n        eLogger::Log(\"Warning Message   : \" , LoggerType::Warning);\n        eLogger::Log(\"Paused Message    : \" , LoggerType::Paused);\n        eLogger::Log(\"Success Message   : \" , LoggerType::Success);\n        eLogger::Log(\"Progress Message  : \" , LoggerType::InProgress);\n        eLogger::Log(\"Failed Message    : \" , LoggerType::Failed);\n        eLogger::Log(\"Done Message      : \" , LoggerType::Done);\n}\n```\n## Full Example of usage\n\n```cpp\n\n#include \u003ciostream\u003e\n#include \u003ceLogger\u003e\n\nusing namespace std;\nusing namespace eLogger;\n\nint main()\n{\n    Core::init();\n\n    DeveloperMode::IsEnable = {true};\n\n    Logger::LoggerModel = Mode::Developer;\n\n    if(isset(DeveloperMode::IsEnable)) {\n        Log(\"Info Message      : \" , LoggerType::Info);\n        Log(\"Default Message   : \" , LoggerType::Default);\n        Log(\"Warning Message   : \" , LoggerType::Warning);\n        Log(\"Paused Message    : \" , LoggerType::Paused);\n        Log(\"Success Message   : \" , LoggerType::Success);\n        Log(\"Progress Message  : \" , LoggerType::InProgress);\n        Log(\"Failed Message    : \" , LoggerType::Failed);\n        Log(\"Done Message      : \" , LoggerType::Done);\n    }\n\n    return 0;\n}\n\n```\n## Output as User mode:\n```\neLogger 0.5 - compiled on Nov  6 2020\nRelease mode: alpha - 2\nHost machine init: \nOperation System: macOS\nLanguage Standard: ISO/IEC 14882:2017\nCompiler Type: Clang/LLVM:12.0.0 (clang-1200.0.32.6)\n\n =\u003e Log Id : [0] : [Info] Info Message      :  { DateTime: 2020/11/01 01:48:19 }\n =\u003e Log Id : [1] : [Default] Default Message   :  { DateTime: 2020/11/01 01:48:19 }\n =\u003e Log Id : [2] : [Warning] Warning Message   :  { DateTime: 2020/11/01 01:48:19 }\n =\u003e Log Id : [3] : [Paused] Paused Message    :  { DateTime: 2020/11/01 01:48:19 }\n =\u003e Log Id : [4] : [Success] Success Message   :  { DateTime: 2020/11/01 01:48:19 }\n =\u003e Log Id : [5] : [InProgress] Progress Message  :  { DateTime: 2020/11/01 01:48:19 }\n =\u003e Log Id : [6] : [Failed] Failed Message    :  { DateTime: 2020/11/01 01:48:19 }\n =\u003e Log Id : [7] : [Done] Done Message      :  { DateTime: 2020/11/01 01:48:19 }\n ```\n ## Output as Developer mode:\n```\neLogger 0.5 - compiled on Nov  6 2020\nRelease mode: alpha - 2\nHost machine init: \nOperation System: macOS\nLanguage Standard: ISO/IEC 14882:2017\nCompiler Type: Clang/LLVM:12.0.0 (clang-1200.0.32.6)\n\n =\u003e Log Id : [0][ Line : 16] [ Function : main] [ Thread Id : 0x11546bdc0] [ File : ../TestLogger/main.cpp] ] : [Info] Info Message      :  { DateTime: 2020/11/06 18:50:48 }\n =\u003e Log Id : [1][ Line : 17] [ Function : main] [ Thread Id : 0x11546bdc0] [ File : ../TestLogger/main.cpp] ] : [Default] Default Message   :  { DateTime: 2020/11/06 18:50:48 }\n =\u003e Log Id : [2][ Line : 18] [ Function : main] [ Thread Id : 0x11546bdc0] [ File : ../TestLogger/main.cpp] ] : [Warning] Warning Message   :  { DateTime: 2020/11/06 18:50:48 }\n =\u003e Log Id : [3][ Line : 19] [ Function : main] [ Thread Id : 0x11546bdc0] [ File : ../TestLogger/main.cpp] ] : [Paused] Paused Message    :  { DateTime: 2020/11/06 18:50:48 }\n =\u003e Log Id : [4][ Line : 20] [ Function : main] [ Thread Id : 0x11546bdc0] [ File : ../TestLogger/main.cpp] ] : [Success] Success Message   :  { DateTime: 2020/11/06 18:50:48 }\n =\u003e Log Id : [5][ Line : 21] [ Function : main] [ Thread Id : 0x11546bdc0] [ File : ../TestLogger/main.cpp] ] : [InProgress] Progress Message  :  { DateTime: 2020/11/06 18:50:48 }\n =\u003e Log Id : [6][ Line : 22] [ Function : main] [ Thread Id : 0x11546bdc0] [ File : ../TestLogger/main.cpp] ] : [Failed] Failed Message    :  { DateTime: 2020/11/06 18:50:48 }\n =\u003e Log Id : [7][ Line : 23] [ Function : main] [ Thread Id : 0x11546bdc0] [ File : ../TestLogger/main.cpp] ] : [Done] Done Message      :  { DateTime: 2020/11/06 18:50:48 }\n```\n## Contribution\nBug fixes, docs, and enhancements welcome! Please let me know kambiz.ceo@gmail.com\n\n**Screen Shots**\n![Image of User mode](https://github.com/KambizAsadzadeh/eLogger/blob/main/Screen%20Shot%202020-11-06%20at%207.28.13%20PM.png)\n![Image of Developer mode](https://github.com/KambizAsadzadeh/eLogger/blob/main/Screen%20Shot%202020-11-06%20at%207.28.34%20PM.png)\n\n## **ToDo**\n * And more features...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecompez%2Felogger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthecompez%2Felogger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecompez%2Felogger/lists"}