|
Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
|
Fluent builder for logger_config. More...
#include <logger_config_builder.h>

Public Member Functions | |
| logger_config_builder ()=default | |
| Default constructor - starts with default configuration. | |
| logger_config_builder & | use_default_config () |
| Use default configuration as base. | |
| logger_config_builder & | use_production_defaults () |
| Use production configuration as base. | |
| logger_config_builder & | use_debug_defaults () |
| Use debug configuration as base. | |
| logger_config_builder & | use_high_performance_defaults () |
| Use high-performance configuration as base. | |
| logger_config_builder & | use_low_latency_defaults () |
| Use low-latency configuration as base. | |
| logger_config_builder & | set_async (bool enabled) |
| Set asynchronous logging mode. | |
| logger_config_builder & | set_buffer_size (std::size_t size) |
| Set buffer size. | |
| logger_config_builder & | set_min_level (log_level level) |
| Set minimum log level. | |
| logger_config_builder & | set_batch_size (std::size_t size) |
| Set batch size for batch writing. | |
| logger_config_builder & | set_flush_interval (std::chrono::milliseconds interval) |
| Set flush interval. | |
| logger_config_builder & | use_lock_free (bool enabled) |
| Enable/disable lock-free queue. | |
| logger_config_builder & | set_max_writers (std::size_t max) |
| Set maximum number of writers. | |
| logger_config_builder & | enable_batch_writing (bool enabled) |
| Enable/disable batch writing. | |
| logger_config_builder & | set_writer_thread_count (std::size_t count) |
| Set writer thread count. | |
| logger_config_builder & | enable_metrics (bool enabled) |
| Enable/disable metrics collection. | |
| logger_config_builder & | enable_crash_handler (bool enabled) |
| Enable/disable crash handler. | |
| logger_config_builder & | enable_structured_logging (bool enabled) |
| Enable/disable structured logging. | |
| logger_config_builder & | enable_color_output (bool enabled) |
| Enable/disable color output. | |
| logger_config_builder & | enable_timestamp (bool enabled) |
| Enable/disable timestamp in log messages. | |
| logger_config_builder & | enable_source_location (bool enabled) |
| Enable/disable source location in log messages. | |
| logger_config_builder & | enable_compression (bool enabled) |
| Enable/disable compression. | |
| logger_config_builder & | set_max_queue_size (std::size_t size) |
| Set maximum queue size. | |
| logger_config_builder & | set_overflow_policy (logger_config::overflow_policy policy) |
| Set queue overflow policy. | |
| logger_config_builder & | set_max_file_size (std::size_t size) |
| Set maximum file size for rotation. | |
| logger_config_builder & | set_max_file_count (std::size_t count) |
| Set maximum number of rotated files. | |
| logger_config_builder & | set_log_directory (const std::string &directory) |
| Set log directory. | |
| logger_config_builder & | set_log_file_prefix (const std::string &prefix) |
| Set log file prefix. | |
| logger_config_builder & | set_remote_logging (const std::string &host, uint16_t port) |
| Set remote logging host. | |
| logger_config_builder & | set_network_timeout (std::chrono::milliseconds timeout) |
| Set network timeout. | |
| logger_config_builder & | set_network_retry_count (std::size_t count) |
| Set network retry count. | |
| result< logger_config > | build () const |
| Build the logger_config. | |
| logger_config | build_unchecked () const |
| Build the logger_config without validation. | |
| logger_config_builder & | reset () |
| Reset to default configuration. | |
Private Attributes | |
| logger_config | config_ |
Fluent builder for logger_config.
Provides a convenient and type-safe builder pattern for constructing logger_config instances. Supports preset configurations and individual parameter customization.
Example usage:
Definition at line 39 of file logger_config_builder.h.
|
default |
Default constructor - starts with default configuration.
|
inline |
Build the logger_config.
Validates the configuration and returns it if valid.
Definition at line 381 of file logger_config_builder.h.
References config_, kcenon::logger::invalid_configuration, and kcenon::logger::logger_config::validate().
Referenced by main().


|
inline |
Build the logger_config without validation.
Definition at line 396 of file logger_config_builder.h.
References config_.
|
inline |
Enable/disable batch writing.
| enabled | true to enable batch writing |
Definition at line 178 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::enable_batch_writing.
|
inline |
Enable/disable color output.
| enabled | true to enable color output |
Definition at line 232 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::enable_color_output.
Referenced by main().

|
inline |
Enable/disable compression.
| enabled | true to enable compression |
Definition at line 262 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::enable_compression.
|
inline |
Enable/disable crash handler.
| enabled | true to enable crash handler |
Definition at line 212 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::enable_crash_handler.
|
inline |
Enable/disable metrics collection.
| enabled | true to enable metrics |
Definition at line 202 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::enable_metrics.
Referenced by main().

|
inline |
Enable/disable source location in log messages.
| enabled | true to enable source location |
Definition at line 252 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::enable_source_location.
Referenced by main().

|
inline |
Enable/disable structured logging.
| enabled | true to enable structured logging |
Definition at line 222 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::enable_structured_logging.
|
inline |
Enable/disable timestamp in log messages.
| enabled | true to enable timestamp |
Definition at line 242 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::enable_timestamp.
Referenced by main().

|
inline |
Reset to default configuration.
Definition at line 404 of file logger_config_builder.h.
References config_.
|
inline |
Set asynchronous logging mode.
| enabled | true to enable async logging |
Definition at line 104 of file logger_config_builder.h.
References kcenon::logger::logger_config::async, and config_.
Referenced by main().

|
inline |
Set batch size for batch writing.
| size | Number of messages to batch together |
Definition at line 138 of file logger_config_builder.h.
References kcenon::logger::logger_config::batch_size, config_, and kcenon::logger::size.
Referenced by main().

|
inline |
Set buffer size.
| size | Buffer size in bytes |
Definition at line 114 of file logger_config_builder.h.
References kcenon::logger::logger_config::buffer_size, config_, and kcenon::logger::size.
Referenced by main().

|
inline |
Set flush interval.
| interval | Time between automatic flushes |
Definition at line 148 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::flush_interval.
Referenced by main().

|
inline |
Set log directory.
| directory | Directory path for log files |
Definition at line 320 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::log_directory.
Referenced by main().

|
inline |
Set log file prefix.
| prefix | Prefix for log file names |
Definition at line 330 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::log_file_prefix.
Referenced by main().

|
inline |
Set maximum number of rotated files.
| count | Maximum file count |
Definition at line 310 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::max_file_count.
|
inline |
Set maximum file size for rotation.
| size | Maximum file size in bytes |
Definition at line 300 of file logger_config_builder.h.
References config_, kcenon::logger::logger_config::max_file_size, and kcenon::logger::size.
|
inline |
Set maximum queue size.
| size | Maximum queue size |
Definition at line 276 of file logger_config_builder.h.
References config_, kcenon::logger::logger_config::max_queue_size, and kcenon::logger::size.
Referenced by main().

|
inline |
Set maximum number of writers.
| max | Maximum writers |
Definition at line 168 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::max_writers.
|
inline |
Set minimum log level.
| level | Minimum log level to output |
Definition at line 124 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::min_level.
|
inline |
Set network retry count.
| count | Number of retries |
Definition at line 366 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::network_retry_count.
Referenced by main().

|
inline |
Set network timeout.
| timeout | Timeout duration |
Definition at line 356 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::network_timeout.
Referenced by main().

|
inline |
Set queue overflow policy.
| policy | Overflow policy to use |
Definition at line 286 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::queue_overflow_policy.
Referenced by main().

|
inline |
Set remote logging host.
| host | Remote host address |
| port | Remote port number |
Definition at line 345 of file logger_config_builder.h.
References config_, kcenon::logger::logger_config::remote_host, and kcenon::logger::logger_config::remote_port.
Referenced by main().

|
inline |
Set writer thread count.
| count | Number of writer threads |
Definition at line 188 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::writer_thread_count.
|
inline |
Use debug configuration as base.
Definition at line 72 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::debug_config().
Referenced by main().


|
inline |
Use default configuration as base.
Definition at line 54 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::default_config().

|
inline |
Use high-performance configuration as base.
Definition at line 81 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::high_performance().
Referenced by main().


|
inline |
Enable/disable lock-free queue.
| enabled | true to use lock-free queue |
Definition at line 158 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::use_lock_free.
|
inline |
Use low-latency configuration as base.
Definition at line 90 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::low_latency().

|
inline |
Use production configuration as base.
Definition at line 63 of file logger_config_builder.h.
References config_, and kcenon::logger::logger_config::production().
Referenced by main().


|
private |
Definition at line 410 of file logger_config_builder.h.
Referenced by build(), build_unchecked(), enable_batch_writing(), enable_color_output(), enable_compression(), enable_crash_handler(), enable_metrics(), enable_source_location(), enable_structured_logging(), enable_timestamp(), reset(), set_async(), set_batch_size(), set_buffer_size(), set_flush_interval(), set_log_directory(), set_log_file_prefix(), set_max_file_count(), set_max_file_size(), set_max_queue_size(), set_max_writers(), set_min_level(), set_network_retry_count(), set_network_timeout(), set_overflow_policy(), set_remote_logging(), set_writer_thread_count(), use_debug_defaults(), use_default_config(), use_high_performance_defaults(), use_lock_free(), use_low_latency_defaults(), and use_production_defaults().