|
Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
|

Public Member Functions | |
| impl (bool async, std::size_t buffer_size, std::unique_ptr< backends::integration_backend > backend) | |
| ~impl () | |
| void | dispatch_to_writers (log_level level, const std::string &message, const std::string &file, int line, const std::string &function, const log_entry &entry) |
| Dispatch log to writers with routing support. | |
Public Attributes | |
| bool | async_mode_ |
| std::size_t | buffer_size_ |
| bool | running_ |
| bool | metrics_enabled_ |
| std::atomic< log_level > | min_level_ |
| std::vector< std::shared_ptr< log_writer_interface > > | writers_ |
| std::unordered_map< std::string, std::shared_ptr< log_writer_interface > > | named_writers_ |
| std::shared_mutex | writers_mutex_ |
| std::unique_ptr< backends::integration_backend > | backend_ |
| std::unique_ptr< log_collector > | collector_ |
| std::unique_ptr< log_filter_interface > | filter_ |
| std::shared_mutex | filter_mutex_ |
| std::unique_ptr< log_router > | router_ |
| std::shared_mutex | router_mutex_ |
| unified_log_context | context_ |
| std::unique_ptr< sampling::log_sampler > | sampler_ |
| std::shared_mutex | sampler_mutex_ |
| char | emergency_buffer_ [emergency_buffer_size_] |
| std::atomic< size_t > | emergency_buffer_used_ {0} |
| std::atomic< int > | emergency_fd_ {-1} |
Static Public Attributes | |
| static constexpr size_t | emergency_buffer_size_ = 8192 |
Definition at line 59 of file logger.cpp.
|
inline |
Definition at line 95 of file logger.cpp.
References async_mode_, backend_, buffer_size_, collector_, and writers_.
|
inline |
Definition at line 119 of file logger.cpp.
References backend_.
|
inline |
Dispatch log to writers with routing support.
| level | Log level |
| message | Log message |
| file | Source file |
| line | Source line |
| function | Source function |
| entry | Log entry for routing check |
Definition at line 134 of file logger.cpp.
References kcenon::logger::analysis::analyzed_log_entry::function_name, kcenon::logger::analysis::analyzed_log_entry::level, kcenon::logger::analysis::analyzed_log_entry::message, named_writers_, router_, router_mutex_, kcenon::logger::analysis::analyzed_log_entry::source_file, kcenon::logger::analysis::analyzed_log_entry::source_line, kcenon::logger::analysis::analyzed_log_entry::timestamp, kcenon::logger::log_entry::timestamp, writers_, and writers_mutex_.
| bool kcenon::logger::logger::impl::async_mode_ |
Definition at line 61 of file logger.cpp.
Referenced by impl().
| std::unique_ptr<backends::integration_backend> kcenon::logger::logger::impl::backend_ |
Definition at line 69 of file logger.cpp.
| std::size_t kcenon::logger::logger::impl::buffer_size_ |
Definition at line 62 of file logger.cpp.
Referenced by impl().
| std::unique_ptr<log_collector> kcenon::logger::logger::impl::collector_ |
Definition at line 70 of file logger.cpp.
Referenced by impl().
| unified_log_context kcenon::logger::logger::impl::context_ |
Definition at line 83 of file logger.cpp.
|
mutable |
Definition at line 91 of file logger.cpp.
|
staticconstexpr |
Definition at line 90 of file logger.cpp.
| std::atomic<size_t> kcenon::logger::logger::impl::emergency_buffer_used_ {0} |
Definition at line 92 of file logger.cpp.
| std::atomic<int> kcenon::logger::logger::impl::emergency_fd_ {-1} |
Definition at line 93 of file logger.cpp.
| std::unique_ptr<log_filter_interface> kcenon::logger::logger::impl::filter_ |
Definition at line 71 of file logger.cpp.
|
mutable |
Definition at line 72 of file logger.cpp.
| bool kcenon::logger::logger::impl::metrics_enabled_ |
Definition at line 64 of file logger.cpp.
| std::atomic<log_level> kcenon::logger::logger::impl::min_level_ |
Definition at line 65 of file logger.cpp.
| std::unordered_map<std::string, std::shared_ptr<log_writer_interface> > kcenon::logger::logger::impl::named_writers_ |
Definition at line 67 of file logger.cpp.
Referenced by dispatch_to_writers().
| std::unique_ptr<log_router> kcenon::logger::logger::impl::router_ |
Definition at line 73 of file logger.cpp.
Referenced by dispatch_to_writers().
|
mutable |
Definition at line 74 of file logger.cpp.
Referenced by dispatch_to_writers().
| bool kcenon::logger::logger::impl::running_ |
Definition at line 63 of file logger.cpp.
| std::unique_ptr<sampling::log_sampler> kcenon::logger::logger::impl::sampler_ |
Definition at line 86 of file logger.cpp.
|
mutable |
Definition at line 87 of file logger.cpp.
| std::vector<std::shared_ptr<log_writer_interface> > kcenon::logger::logger::impl::writers_ |
Definition at line 66 of file logger.cpp.
Referenced by dispatch_to_writers(), and impl().
| std::shared_mutex kcenon::logger::logger::impl::writers_mutex_ |
Definition at line 68 of file logger.cpp.
Referenced by dispatch_to_writers().