Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
Loading...
Searching...
No Matches
common_logger_backend.h
Go to the documentation of this file.
1// BSD 3-Clause License
2// Copyright (c) 2025, 🍀☀🌕🌥 🌊
3// See the LICENSE file in the project root for full license information.
4
16#pragma once
17
18#include "logger_backend.h"
19
20#include <memory>
21
22#include <kcenon/database/config/feature_flags.h>
23
24#if KCENON_HAS_COMMON_SYSTEM
25#include <kcenon/common/interfaces/logger_interface.h>
26#endif
27
28namespace database
29{
30namespace integrated
31{
32namespace adapters
33{
34namespace backends
35{
36
45{
46public:
51 explicit common_logger_backend(const db_logger_config& config);
52
53 ~common_logger_backend() override;
54
55 // Non-copyable, non-movable
60
63 bool is_initialized() const override;
64 void log(db_log_level level, const std::string& message) override;
65 void flush() override;
66
67private:
68#if KCENON_HAS_COMMON_SYSTEM
72 static kcenon::common::interfaces::log_level convert_log_level(db_log_level level);
73#endif
74
77};
78
79} // namespace backends
80} // namespace adapters
81} // namespace integrated
82} // namespace database
Logger backend using common_system's ILogger interface.
common_logger_backend(const common_logger_backend &)=delete
void log(db_log_level level, const std::string &message) override
Log a message.
common::VoidResult initialize() override
Initialize the logger backend.
common_logger_backend & operator=(const common_logger_backend &)=delete
common::VoidResult shutdown() override
Shutdown the logger backend gracefully.
common_logger_backend & operator=(common_logger_backend &&)=delete
bool is_initialized() const override
Check if backend is initialized.
common_logger_backend(const db_logger_config &config)
Construct common logger backend.
Abstract base class for logger backends.
Abstract interface for logger backends.
db_log_level
Database logging level enumeration.