Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
Loading...
Searching...
No Matches
kcenon::logger::config_strategy_interface Class Referenceabstract

Abstract interface for logger configuration strategies. More...

#include <config_strategy_interface.h>

Inheritance diagram for kcenon::logger::config_strategy_interface:
Inheritance graph
Collaboration diagram for kcenon::logger::config_strategy_interface:
Collaboration graph

Public Member Functions

virtual ~config_strategy_interface ()=default
 
virtual std::string get_name () const =0
 Get the strategy name.
 
virtual void apply (logger_config &config) const =0
 Apply this strategy to a logger configuration.
 
virtual bool is_applicable () const
 Check if this strategy is applicable in the current context.
 
virtual int priority () const
 Get the strategy priority.
 

Detailed Description

Abstract interface for logger configuration strategies.

Configuration strategies allow dynamic modification of logger settings based on various contexts (environment, performance needs, etc.). Multiple strategies can be composed and applied in priority order.

Since
2.0.0

Definition at line 36 of file config_strategy_interface.h.

Constructor & Destructor Documentation

◆ ~config_strategy_interface()

virtual kcenon::logger::config_strategy_interface::~config_strategy_interface ( )
virtualdefault

Member Function Documentation

◆ apply()

virtual void kcenon::logger::config_strategy_interface::apply ( logger_config & config) const
pure virtual

Apply this strategy to a logger configuration.

Parameters
configThe configuration to modify

Modifies the provided configuration according to the strategy's rules. Changes are applied in-place.

Implemented in kcenon::logger::composite_strategy, kcenon::logger::deployment_strategy, kcenon::logger::environment_strategy, and kcenon::logger::performance_strategy.

◆ get_name()

virtual std::string kcenon::logger::config_strategy_interface::get_name ( ) const
pure virtual

◆ is_applicable()

virtual bool kcenon::logger::config_strategy_interface::is_applicable ( ) const
inlinevirtual

Check if this strategy is applicable in the current context.

Returns
true if the strategy should be applied

Override to implement conditional strategy application (e.g., only apply in certain environments).

Reimplemented in kcenon::logger::composite_strategy, and kcenon::logger::environment_strategy.

Definition at line 62 of file config_strategy_interface.h.

62{ return true; }

◆ priority()

virtual int kcenon::logger::config_strategy_interface::priority ( ) const
inlinevirtual

Get the strategy priority.

Returns
Priority value (higher = applied first)

When multiple strategies are applied, they are sorted by priority (descending) before application.

Reimplemented in kcenon::logger::deployment_strategy, kcenon::logger::environment_strategy, and kcenon::logger::performance_strategy.

Definition at line 71 of file config_strategy_interface.h.

71{ return 0; }

The documentation for this class was generated from the following file: