|
Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
|
Dependency Injection pattern example for logger_system Phase 4. More...
#include <kcenon/logger/core/logger_builder.h>#include <kcenon/common/interfaces/logger_interface.h>#include <kcenon/common/interfaces/monitoring_interface.h>#include <iostream>#include <memory>#include <thread>#include <chrono>#include <mutex>#include <unordered_map>#include <sstream>
Go to the source code of this file.
Classes | |
| class | example_monitor |
| Example monitor implementation demonstrating IMonitor interface. More... | |
Functions | |
| void | example_1_basic_di_pattern () |
| Example demonstrating DI pattern with logger and monitor. | |
| void | example_2_optional_monitor () |
| Example demonstrating monitor-less operation. | |
| void | example_3_runtime_monitor_injection () |
| Example demonstrating runtime monitor injection. | |
| void | example_4_monitor_swapping () |
| Example demonstrating monitor swapping. | |
| void | use_logger_via_interface (std::shared_ptr< ci::ILogger > logger) |
| Example demonstrating ILogger interface usage. | |
| void | example_5_interface_based_usage () |
| int | main () |
Dependency Injection pattern example for logger_system Phase 4.
Definition in file di_pattern_example.cpp.
| void example_1_basic_di_pattern | ( | ) |
Example demonstrating DI pattern with logger and monitor.
Definition at line 185 of file di_pattern_example.cpp.
References kcenon::logger::logger_builder::build(), kcenon::logger::logger_builder::with_async(), kcenon::logger::logger_builder::with_min_level(), and kcenon::logger::logger_builder::with_monitoring().
Referenced by main().


| void example_2_optional_monitor | ( | ) |
Example demonstrating monitor-less operation.
Definition at line 228 of file di_pattern_example.cpp.
References kcenon::logger::logger_builder::build(), kcenon::logger::logger_builder::with_async(), and kcenon::logger::logger_builder::with_min_level().
Referenced by main().


| void example_3_runtime_monitor_injection | ( | ) |
Example demonstrating runtime monitor injection.
Definition at line 254 of file di_pattern_example.cpp.
References kcenon::logger::logger_builder::build(), and kcenon::logger::logger_builder::with_async().
Referenced by main().


| void example_4_monitor_swapping | ( | ) |
Example demonstrating monitor swapping.
Definition at line 289 of file di_pattern_example.cpp.
References kcenon::logger::logger_builder::build(), and kcenon::logger::logger_builder::with_async().
Referenced by main().


| void example_5_interface_based_usage | ( | ) |
Definition at line 344 of file di_pattern_example.cpp.
References kcenon::logger::logger_builder::build(), use_logger_via_interface(), kcenon::logger::logger_builder::with_async(), and kcenon::logger::logger_builder::with_monitoring().
Referenced by main().


| int main | ( | ) |
Definition at line 365 of file di_pattern_example.cpp.
References example_1_basic_di_pattern(), example_2_optional_monitor(), example_3_runtime_monitor_injection(), example_4_monitor_swapping(), and example_5_interface_based_usage().

| void use_logger_via_interface | ( | std::shared_ptr< ci::ILogger > | logger | ) |
Example demonstrating ILogger interface usage.
Definition at line 327 of file di_pattern_example.cpp.
References kcenon::common::get_value(), and kcenon::common::is_ok().
Referenced by example_5_interface_based_usage().

