/* * ResourceLogger.cpp * * Created on: 31 мар. 2021 г. * Author: titov */ #include "ResourceLogger.hh" systemic::ResourceLogger::ResourceLogger( std::size_t max_size, std::pmr::memory_resource* record_allocator, std::pmr::memory_resource* record_guard_allocator, NotificationInterface & herald ) : ResourceHolder( max_size, record_allocator, record_guard_allocator, herald ) {} void* systemic::ResourceLogger::getRecord( const std::type_info & obj_type, Id id, Tag tag ) { void* result = ResourceHolder::getRecord(obj_type, id, tag); if(result == nullptr) { const ErrorMessage message = { .object = id, .tag = tag, .type = reinterpret_cast(&obj_type), }; logger->log_error(reinterpret_cast(&message), sizeof(message)); } return result; }