187 void log_slow_query(const std::
string& query, std::chrono::microseconds duration,
188 std::chrono::milliseconds threshold);
218 void log_pool_event(const std::
string& event, std::
size_t active, std::
size_t idle);
227 void log_error(const std::
string& operation, const std::
string& error_msg,
228 const std::
string& sql_state = "");
259 std::unique_ptr<backends::logger_backend>
backend_;
Unified logging adapter for database operations.
logger_adapter(const logger_adapter &)=delete
void log_query(db_log_level level, const std::string &query, std::chrono::microseconds duration)
Log a SQL query execution.
const db_logger_config & config_
common::VoidResult initialize()
Initialize the logger.
logger_adapter(const db_logger_config &config, logger_backend_type backend_type=logger_backend_type::auto_select)
Construct logger adapter with configuration.
void log_slow_query(const std::string &query, std::chrono::microseconds duration, std::chrono::milliseconds threshold)
Log a slow query with warning.
void log_transaction(const std::string &operation, bool success, const std::string &details)
Log a transaction operation.
logger_adapter(logger_adapter &&) noexcept
void log_connection_event(const std::string &event, const std::string &details)
Log a connection pool event.
common::VoidResult shutdown()
Shutdown the logger gracefully.
void log_pool_event(const std::string &event, std::size_t active, std::size_t idle)
Log a connection pool state change.
void log(db_log_level level, const std::string &message)
Generic log message.
static std::unique_ptr< backends::logger_backend > create_backend(const db_logger_config &config, logger_backend_type backend_type)
Create appropriate backend based on type.
void flush()
Flush pending log messages.
void log_error(const std::string &operation, const std::string &error_msg, const std::string &sql_state="")
Log a database error.
logger_adapter & operator=(const logger_adapter &)=delete
std::unique_ptr< backends::logger_backend > backend_
Logger backend implementation.
bool is_initialized() const
Check if logger is initialized.
~logger_adapter()
Destructor - ensures proper shutdown.
Common Result<T> pattern for integrated database system.
Unified configuration for integrated database system.
logger_backend_type
Logger backend type selection.
@ null
No-op backend (discard all logs)
@ auto_select
Automatically select best available backend.
@ fallback
Use std::cout + std::ofstream.
@ system
Use common_system ILogger (fails if unavailable)
db_log_level
Database logging level enumeration.
backend_type
Database backend type enumeration.
kcenon::common::VoidResult VoidResult
Primary VoidResult type - use this for void operations.