Abstract interface for logger configuration strategies.
virtual ~config_strategy_interface()=default
virtual bool is_applicable() const
Check if this strategy is applicable in the current context.
virtual void apply(logger_config &config) const =0
Apply this strategy to a logger configuration.
virtual int priority() const
Get the strategy priority.
virtual std::string get_name() const =0
Get the strategy name.
std::function< std::unique_ptr< config_strategy_interface >()> config_strategy_factory_fn
Factory function type for creating configuration strategies.
Configuration structure for logger with validation.