|
Common System 0.2.0
Common interfaces and patterns for system integration
|
Thread-safe audit log for registry operations. More...
#include <registry_audit_log.h>

Static Public Member Functions | |
| static void | log_event (const registry_event &event) |
| Log a registry event. | |
| static void | log_event (registry_event &&event) |
| Log a registry event (move version). | |
| static std::vector< registry_event > | get_events () |
| Get all logged events. | |
| static std::vector< registry_event > | get_events_by_action (registry_action action) |
| Get events filtered by action type. | |
| static std::vector< registry_event > | get_events_in_range (std::chrono::system_clock::time_point start, std::chrono::system_clock::time_point end) |
| Get events within a time range. | |
| static size_t | event_count () |
| Get the number of logged events. | |
| static bool | is_enabled () |
| Check if audit logging is enabled. | |
| static void | set_enabled (bool enabled) |
| Enable or disable audit logging. | |
| static void | clear () |
| Clear all audit events. | |
Private Member Functions | |
| RegistryAuditLog ()=delete | |
Static Private Member Functions | |
| static std::mutex & | get_mutex () |
| static std::vector< registry_event > & | get_events_internal () |
| static std::atomic< bool > & | get_enabled_flag () |
Thread-safe audit log for registry operations.
RegistryAuditLog provides a centralized, thread-safe mechanism for recording all mutations to global registries. The log is append-only to maintain integrity for security auditing.
Usage Example:
Definition at line 161 of file registry_audit_log.h.
|
privatedelete |
|
inlinestatic |
Clear all audit events.
Definition at line 333 of file registry_audit_log.h.
References get_events_internal(), and get_mutex().

|
inlinestatic |
Get the number of logged events.
Definition at line 320 of file registry_audit_log.h.
References get_events_internal(), and get_mutex().

|
inlinestaticprivate |
Definition at line 265 of file registry_audit_log.h.
Referenced by is_enabled(), and set_enabled().

|
inlinestatic |
Get all logged events.
Returns a copy of all events in the audit log. This operation is thread-safe.
Definition at line 288 of file registry_audit_log.h.
References get_events_internal(), and get_mutex().

|
inlinestatic |
Get events filtered by action type.
| action | The action type to filter by |
Definition at line 293 of file registry_audit_log.h.
References get_events_internal(), and get_mutex().

|
inlinestatic |
Get events within a time range.
| start | Start of time range |
| end | End of time range |
Definition at line 306 of file registry_audit_log.h.
References get_events_internal(), and get_mutex().

|
inlinestaticprivate |
Definition at line 260 of file registry_audit_log.h.
Referenced by clear(), event_count(), get_events(), get_events_by_action(), get_events_in_range(), log_event(), and log_event().

|
inlinestaticprivate |
Definition at line 255 of file registry_audit_log.h.
Referenced by clear(), event_count(), get_events(), get_events_by_action(), get_events_in_range(), log_event(), and log_event().

|
inlinestatic |
Check if audit logging is enabled.
Definition at line 325 of file registry_audit_log.h.
References get_enabled_flag().
Referenced by log_event(), and log_event().


|
inlinestatic |
Log a registry event.
Appends the event to the audit log. This operation is thread-safe.
| event | The event to log |
Definition at line 270 of file registry_audit_log.h.
References get_events_internal(), get_mutex(), and is_enabled().
Referenced by kcenon::common::di::service_container::check_already_registered(), kcenon::common::di::service_container::check_frozen_for_registration(), kcenon::common::di::service_container::clear(), kcenon::common::interfaces::GlobalLoggerRegistry::clear(), kcenon::common::di::service_container::freeze(), kcenon::common::interfaces::GlobalLoggerRegistry::freeze(), kcenon::common::interfaces::GlobalLoggerRegistry::register_factory(), kcenon::common::di::service_container::register_factory_internal(), kcenon::common::di::service_container::register_instance_internal(), kcenon::common::interfaces::GlobalLoggerRegistry::register_logger(), kcenon::common::interfaces::GlobalLoggerRegistry::set_default_factory(), kcenon::common::interfaces::GlobalLoggerRegistry::set_default_logger(), kcenon::common::di::service_container::unregister_internal(), and kcenon::common::interfaces::GlobalLoggerRegistry::unregister_logger().


|
inlinestatic |
Log a registry event (move version).
| event | The event to log (moved) |
Definition at line 279 of file registry_audit_log.h.
References get_events_internal(), get_mutex(), and is_enabled().

|
inlinestatic |
Enable or disable audit logging.
| enabled | Whether to enable audit logging |
Definition at line 329 of file registry_audit_log.h.
References get_enabled_flag().
