Logger System
0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
Loading...
Searching...
No Matches
logger_registry.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
5
#pragma once
6
7
#include <vector>
8
#include <shared_mutex>
9
10
#include <
kcenon/logger/logger_export.h
>
11
12
// Forward declaration to avoid circular dependencies
13
namespace
kcenon::logger::security
{
14
class
critical_logger_interface;
15
}
16
27
namespace
kcenon::logger::core
{
28
39
class
LOGGER_SYSTEM_API
logger_registry
{
40
public
:
44
logger_registry
() =
default
;
45
53
void
register_logger(
security::critical_logger_interface
* log);
54
62
void
unregister_logger(
security::critical_logger_interface
* log);
63
71
auto
get_registered_loggers() const -> std::vector<security::critical_logger_interface*>;
72
77
bool
empty() const;
78
83
size_t
size() const;
84
85
private:
87
std::vector<security::critical_logger_interface*> loggers_;
88
90
mutable std::shared_mutex mutex_;
91
};
92
93
}
// namespace kcenon::logger::core
kcenon::logger::core::logger_registry
Manages registration and unregistration of loggers.
Definition
logger_registry.h:39
kcenon::logger::core::logger_registry::logger_registry
logger_registry()=default
Default constructor.
kcenon::logger::security::critical_logger_interface
Interface for loggers that support emergency flushing.
Definition
signal_manager.h:314
logger_export.h
DLL export/import macros for logger_system shared library support.
LOGGER_SYSTEM_API
#define LOGGER_SYSTEM_API
Definition
logger_export.h:29
kcenon::logger::core
Definition
filtered_logger.h:19
kcenon::logger::security
Definition
logger_context.h:52
include
kcenon
logger
core
logger_registry.h
Generated by
1.12.0