Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
Loading...
Searching...
No Matches
backends.cppm File Reference

Backends partition for kcenon.logger module. More...

import kcenon.logger:core;
import kcenon.common;
import <memory>;
import <string>;
Include dependency graph for backends.cppm:

Go to the source code of this file.

Classes

class  kcenon::logger::backends::integration_backend
 Abstract interface for integration backends. More...
 
class  kcenon::logger::backends::standalone_backend
 Integration backend for standalone logger operation. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::logger
 
namespace  kcenon::logger::backends
 

Functions

std::unique_ptr< integration_backendkcenon::logger::backends::create_standalone_backend ()
 
std::unique_ptr< integration_backendkcenon::logger::backends::create_default_backend ()
 Detect and create the appropriate default backend.
 

Detailed Description

Backends partition for kcenon.logger module.

Author
kcenon
Since
3.0.0

This partition exports the backend implementations for logger integration:

  • integration_backend: Abstract interface for integration backends
  • standalone_backend: Backend for independent logger operation
  • monitoring_backend: Backend for monitoring_system integration (optional)

Backends provide runtime polymorphism for integrating the logger with different external systems, replacing compile-time conditional compilation for improved maintainability and reduced test complexity.

Benefits:

  • 90% reduction in #ifdef directives
  • Test combinations reduced from 16 to 4 (75% reduction)
  • Runtime backend switching capability
  • Improved code readability

Definition in file backends.cppm.