|
FinanceSim 0.1.0
Financial Simulation Library
|
#include <logger.hpp>
Public Member Functions | |
| Logger () | |
| ~Logger () | |
| Logger (const Logger &)=delete | |
| Logger & | operator= (const Logger &)=delete |
| void | set_level (LogLevel level) |
| Set the minimum log level (events below this level are ignored) | |
| LogLevel | level () const |
| Get the current log level. | |
| void | add_writer (LogWriterPtr writer) |
| Add a writer for output (Logger takes ownership via shared_ptr) | |
| void | clear_writers () |
| Remove all writers. | |
| void | add_type_filter (const std::string &type_name) |
| void | clear_type_filters () |
| Clear all type filters (log all types) | |
| void | add_source_filter (const std::string &source_id) |
| void | clear_source_filters () |
| Clear all source filters (log all sources) | |
| void | set_time_range (SimTime start, SimTime end) |
| Set time range filter. | |
| void | clear_time_range () |
| Clear time range filter. | |
| void | attach (EventBus &bus) |
| Attach to an EventBus (starts logging) | |
| void | detach () |
| Detach from the current EventBus (stops logging) | |
| void | flush () |
| Flush all writers. | |
| bool | is_attached () const |
| Check if attached to an EventBus. | |
Private Member Functions | |
| void | on_event (const EventPtr &event) |
| bool | passes_filters (const Event &event) const |
| LogLevel | classify_event (const Event &event) const |
Private Attributes | |
| LogLevel | level_ = LogLevel::INFO |
| std::vector< LogWriterPtr > | writers_ |
| std::set< std::string > | type_filters_ |
| std::set< std::string > | source_filters_ |
| SimTime | time_start_ = -1.0 |
| SimTime | time_end_ = -1.0 |
| bool | time_filter_active_ = false |
| EventBus * | bus_ = nullptr |
| SubscriptionId | subscription_id_ = 0 |
Logger service that subscribes to EventBus and writes events to configured writers The Logger is a service, not a Model - it doesn't need scheduled execution
Definition at line 15 of file logger.hpp.
|
default |
| financesim::Logger::~Logger | ( | ) |
Definition at line 7 of file logger.cpp.
References detach(), flush(), and writers_.
|
delete |
| void financesim::Logger::add_source_filter | ( | const std::string & | source_id | ) |
Add source ID filter (only log events from these sources) If no filters are set, all sources are logged
Definition at line 38 of file logger.cpp.
References source_filters_.
Referenced by PYBIND11_MODULE().
| void financesim::Logger::add_type_filter | ( | const std::string & | type_name | ) |
Add event type filter (only log these types) If no filters are set, all event types are logged
Definition at line 30 of file logger.cpp.
References type_filters_.
Referenced by PYBIND11_MODULE().
| void financesim::Logger::add_writer | ( | LogWriterPtr | writer | ) |
Add a writer for output (Logger takes ownership via shared_ptr)
Definition at line 19 of file logger.cpp.
References writers_.
Referenced by PYBIND11_MODULE().
| void financesim::Logger::attach | ( | EventBus & | bus | ) |
Attach to an EventBus (starts logging)
Definition at line 56 of file logger.cpp.
References bus_, detach(), on_event(), financesim::EventBus::subscribe_all(), and subscription_id_.
Referenced by PYBIND11_MODULE().
Definition at line 118 of file logger.cpp.
References financesim::INFO.
Referenced by on_event().
| void financesim::Logger::clear_source_filters | ( | ) |
Clear all source filters (log all sources)
Definition at line 42 of file logger.cpp.
References source_filters_.
Referenced by PYBIND11_MODULE().
| void financesim::Logger::clear_time_range | ( | ) |
Clear time range filter.
Definition at line 52 of file logger.cpp.
References time_filter_active_.
Referenced by PYBIND11_MODULE().
| void financesim::Logger::clear_type_filters | ( | ) |
Clear all type filters (log all types)
Definition at line 34 of file logger.cpp.
References type_filters_.
Referenced by PYBIND11_MODULE().
| void financesim::Logger::clear_writers | ( | ) |
Remove all writers.
Definition at line 23 of file logger.cpp.
References writers_.
Referenced by PYBIND11_MODULE().
| void financesim::Logger::detach | ( | ) |
Detach from the current EventBus (stops logging)
Definition at line 66 of file logger.cpp.
References bus_, subscription_id_, and financesim::EventBus::unsubscribe().
Referenced by attach(), PYBIND11_MODULE(), and ~Logger().
| void financesim::Logger::flush | ( | ) |
Flush all writers.
Definition at line 74 of file logger.cpp.
References writers_.
Referenced by PYBIND11_MODULE(), and ~Logger().
|
inline |
Check if attached to an EventBus.
Definition at line 66 of file logger.hpp.
References subscription_id_.
Referenced by PYBIND11_MODULE().
|
inline |
Get the current log level.
Definition at line 28 of file logger.hpp.
References level_.
Referenced by PYBIND11_MODULE(), and set_level().
|
private |
Definition at line 80 of file logger.cpp.
References classify_event(), level_, passes_filters(), and writers_.
Referenced by attach().
|
private |
Definition at line 92 of file logger.cpp.
References source_filters_, financesim::Event::source_id(), time_end_, time_filter_active_, type_filters_, and financesim::Event::type_name().
Referenced by on_event().
| void financesim::Logger::set_level | ( | LogLevel | level | ) |
Set the minimum log level (events below this level are ignored)
Definition at line 15 of file logger.cpp.
References level(), and level_.
Referenced by PYBIND11_MODULE().
Set time range filter.
Definition at line 46 of file logger.cpp.
References time_end_, time_filter_active_, and time_start_.
Referenced by PYBIND11_MODULE().
|
private |
Definition at line 81 of file logger.hpp.
|
private |
Definition at line 73 of file logger.hpp.
Referenced by level(), on_event(), and set_level().
|
private |
Definition at line 76 of file logger.hpp.
Referenced by add_source_filter(), clear_source_filters(), and passes_filters().
|
private |
Definition at line 82 of file logger.hpp.
Referenced by attach(), detach(), and is_attached().
|
private |
Definition at line 78 of file logger.hpp.
Referenced by passes_filters(), and set_time_range().
|
private |
Definition at line 79 of file logger.hpp.
Referenced by clear_time_range(), passes_filters(), and set_time_range().
|
private |
Definition at line 77 of file logger.hpp.
Referenced by set_time_range().
|
private |
Definition at line 75 of file logger.hpp.
Referenced by add_type_filter(), clear_type_filters(), and passes_filters().
|
private |
Definition at line 74 of file logger.hpp.
Referenced by add_writer(), clear_writers(), flush(), on_event(), and ~Logger().