383 if (!validation_result.is_ok()) {
386 "Configuration validation failed: " + validation_result.error().message};
Fluent builder for logger_config.
logger_config_builder & set_max_file_count(std::size_t count)
Set maximum number of rotated files.
logger_config build_unchecked() const
Build the logger_config without validation.
logger_config_builder()=default
Default constructor - starts with default configuration.
logger_config_builder & use_lock_free(bool enabled)
Enable/disable lock-free queue.
logger_config_builder & enable_timestamp(bool enabled)
Enable/disable timestamp in log messages.
logger_config_builder & set_buffer_size(std::size_t size)
Set buffer size.
logger_config_builder & set_max_file_size(std::size_t size)
Set maximum file size for rotation.
logger_config_builder & enable_structured_logging(bool enabled)
Enable/disable structured logging.
logger_config_builder & set_network_retry_count(std::size_t count)
Set network retry count.
logger_config_builder & enable_metrics(bool enabled)
Enable/disable metrics collection.
logger_config_builder & set_flush_interval(std::chrono::milliseconds interval)
Set flush interval.
logger_config_builder & reset()
Reset to default configuration.
logger_config_builder & use_debug_defaults()
Use debug configuration as base.
logger_config_builder & set_network_timeout(std::chrono::milliseconds timeout)
Set network timeout.
logger_config_builder & set_writer_thread_count(std::size_t count)
Set writer thread count.
logger_config_builder & use_production_defaults()
Use production configuration as base.
logger_config_builder & set_overflow_policy(logger_config::overflow_policy policy)
Set queue overflow policy.
logger_config_builder & enable_crash_handler(bool enabled)
Enable/disable crash handler.
logger_config_builder & use_low_latency_defaults()
Use low-latency configuration as base.
logger_config_builder & enable_source_location(bool enabled)
Enable/disable source location in log messages.
logger_config_builder & set_log_directory(const std::string &directory)
Set log directory.
logger_config_builder & use_high_performance_defaults()
Use high-performance configuration as base.
logger_config_builder & set_max_queue_size(std::size_t size)
Set maximum queue size.
logger_config_builder & set_async(bool enabled)
Set asynchronous logging mode.
result< logger_config > build() const
Build the logger_config.
logger_config_builder & use_default_config()
Use default configuration as base.
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_max_writers(std::size_t max)
Set maximum number of writers.
logger_config_builder & enable_compression(bool enabled)
Enable/disable compression.
logger_config_builder & set_min_level(log_level level)
Set minimum log level.
logger_config_builder & enable_batch_writing(bool enabled)
Enable/disable batch writing.
logger_config_builder & set_batch_size(std::size_t size)
Set batch size for batch writing.
logger_config_builder & enable_color_output(bool enabled)
Enable/disable color output.
Error codes specific to the logger system.
Configuration structure for logger with validation.
@ size
Rotate based on file size only.
Configuration structure for logger with validation.
log_level min_level
Minimum log level to process.
std::size_t batch_size
Number of messages per batch write.
std::size_t network_retry_count
Number of network retry attempts.
static logger_config low_latency()
Create a low-latency configuration.
common::VoidResult validate() const
Validate the configuration.
std::size_t writer_thread_count
Number of dedicated writer threads.
static logger_config production()
Create a production configuration.
bool enable_batch_writing
Enable batch writing mode.
std::size_t max_file_size
Maximum file size in bytes (default: 100MB).
bool async
Enable asynchronous logging.
std::chrono::milliseconds network_timeout
Network operation timeout.
bool enable_color_output
Enable ANSI color output.
bool enable_timestamp
Include timestamp in log entries.
static logger_config default_config()
Create a default configuration.
overflow_policy queue_overflow_policy
Active overflow policy.
bool enable_source_location
Include source file/line in log entries.
bool enable_compression
Enable log compression.
bool enable_metrics
Enable performance metrics collection.
static logger_config high_performance()
Create a high-performance configuration.
std::string log_directory
Directory for log file output.
std::string remote_host
Remote log collector hostname.
overflow_policy
Policy for handling queue overflow when max_queue_size is reached.
std::chrono::milliseconds flush_interval
Interval between automatic flushes.
std::size_t buffer_size
Internal buffer size in bytes.
uint16_t remote_port
Remote log collector port.
std::size_t max_writers
Maximum number of concurrent writers.
std::size_t max_file_count
Maximum number of rotating log files.
bool enable_crash_handler
Enable crash signal handler.
bool use_lock_free
Use lock-free queue implementation.
std::size_t max_queue_size
Maximum number of queued messages.
bool enable_structured_logging
Enable structured (JSON) log output.
std::string log_file_prefix
Prefix for log file names.
static logger_config debug_config()
Create a debug configuration.