|
Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
|
Configuration strategy based on deployment environment. More...
#include <deployment_strategy.h>


Public Member Functions | |
| deployment_strategy (deployment_env env) | |
| Constructor with deployment environment. | |
| std::string | get_name () const override |
| Get the strategy name. | |
| void | apply (logger_config &config) const override |
| Apply this strategy to a logger configuration. | |
| int | priority () const override |
| Get the strategy priority. | |
Public Member Functions inherited from kcenon::logger::config_strategy_interface | |
| virtual | ~config_strategy_interface ()=default |
| virtual bool | is_applicable () const |
| Check if this strategy is applicable in the current context. | |
Static Private Member Functions | |
| static void | apply_development (logger_config &config) |
| static void | apply_staging (logger_config &config) |
| static void | apply_production (logger_config &config) |
| static void | apply_testing (logger_config &config) |
| static std::string | env_to_string (deployment_env env) |
Private Attributes | |
| deployment_env | env_ |
Configuration strategy based on deployment environment.
Applies environment-appropriate settings for the logger. Each environment type is optimized for its specific use case.
Definition at line 45 of file deployment_strategy.h.
|
inlineexplicit |
Constructor with deployment environment.
| env | The deployment environment to configure for |
Definition at line 51 of file deployment_strategy.h.
|
inlineoverridevirtual |
Apply this strategy to a logger configuration.
| config | The configuration to modify |
Modifies the provided configuration according to the strategy's rules. Changes are applied in-place.
Implements kcenon::logger::config_strategy_interface.
Definition at line 58 of file deployment_strategy.h.
References apply_development(), apply_production(), apply_staging(), apply_testing(), kcenon::logger::development, env_, kcenon::logger::production, kcenon::logger::staging, and kcenon::logger::testing.

|
inlinestaticprivate |
Definition at line 82 of file deployment_strategy.h.
References kcenon::logger::logger_config::async, kcenon::logger::logger_config::batch_size, kcenon::logger::logger_config::enable_color_output, kcenon::logger::logger_config::enable_crash_handler, kcenon::logger::logger_config::enable_metrics, kcenon::logger::logger_config::enable_source_location, kcenon::logger::logger_config::enable_structured_logging, kcenon::logger::logger_config::flush_interval, and kcenon::logger::logger_config::min_level.
Referenced by apply().

|
inlinestaticprivate |
Definition at line 109 of file deployment_strategy.h.
References kcenon::logger::logger_config::async, kcenon::logger::logger_config::batch_size, kcenon::logger::logger_config::buffer_size, kcenon::logger::logger_config::enable_batch_writing, kcenon::logger::logger_config::enable_color_output, kcenon::logger::logger_config::enable_compression, kcenon::logger::logger_config::enable_crash_handler, kcenon::logger::logger_config::enable_metrics, kcenon::logger::logger_config::enable_source_location, kcenon::logger::logger_config::enable_structured_logging, kcenon::logger::logger_config::flush_interval, kcenon::logger::logger_config::max_file_count, kcenon::logger::logger_config::max_file_size, kcenon::logger::logger_config::min_level, and kcenon::logger::logger_config::queue_overflow_policy.
Referenced by apply().

|
inlinestaticprivate |
Definition at line 94 of file deployment_strategy.h.
References kcenon::logger::logger_config::async, kcenon::logger::logger_config::batch_size, kcenon::logger::logger_config::buffer_size, kcenon::logger::logger_config::enable_batch_writing, kcenon::logger::logger_config::enable_color_output, kcenon::logger::logger_config::enable_crash_handler, kcenon::logger::logger_config::enable_metrics, kcenon::logger::logger_config::enable_structured_logging, kcenon::logger::logger_config::flush_interval, kcenon::logger::logger_config::max_file_count, kcenon::logger::logger_config::max_file_size, and kcenon::logger::logger_config::min_level.
Referenced by apply().

|
inlinestaticprivate |
Definition at line 127 of file deployment_strategy.h.
References kcenon::logger::logger_config::async, kcenon::logger::logger_config::batch_size, kcenon::logger::logger_config::enable_color_output, kcenon::logger::logger_config::enable_crash_handler, kcenon::logger::logger_config::enable_metrics, kcenon::logger::logger_config::enable_source_location, kcenon::logger::logger_config::flush_interval, and kcenon::logger::logger_config::min_level.
Referenced by apply().

|
inlinestaticprivate |
Definition at line 138 of file deployment_strategy.h.
References kcenon::logger::development, kcenon::logger::production, kcenon::logger::staging, and kcenon::logger::testing.
Referenced by get_name().

|
inlineoverridevirtual |
Get the strategy name.
Implements kcenon::logger::config_strategy_interface.
Definition at line 54 of file deployment_strategy.h.
References env_, and env_to_string().

|
inlineoverridevirtual |
Get the strategy priority.
When multiple strategies are applied, they are sorted by priority (descending) before application.
Reimplemented from kcenon::logger::config_strategy_interface.
Definition at line 75 of file deployment_strategy.h.
|
private |
Definition at line 80 of file deployment_strategy.h.
Referenced by apply(), and get_name().