| 1812 | } |
| 1813 | |
| 1814 | Logger* RegisteredLoggers::get(const std::string& id, bool forceCreation) { |
| 1815 | base::threading::ScopedLock scopedLock(lock()); |
| 1816 | Logger* logger_ = base::utils::Registry<Logger, std::string>::get(id); |
| 1817 | if (logger_ == nullptr && forceCreation) { |
| 1818 | bool validId = Logger::isValidId(id); |
| 1819 | if (!validId) { |
| 1820 | ELPP_ASSERT(validId, "Invalid logger ID [" << id << "]. Not registering this logger."); |
| 1821 | return nullptr; |
| 1822 | } |
| 1823 | logger_ = new Logger(id, m_defaultConfigurations, &m_logStreamsReference); |
| 1824 | logger_->m_logBuilder = m_defaultLogBuilder; |
| 1825 | registerNew(id, logger_); |
| 1826 | LoggerRegistrationCallback* callback = nullptr; |
| 1827 | for (const std::pair<std::string, base::type::LoggerRegistrationCallbackPtr>& h |
| 1828 | : m_loggerRegistrationCallbacks) { |
| 1829 | callback = h.second.get(); |
| 1830 | if (callback != nullptr && callback->enabled()) { |
| 1831 | callback->handle(logger_); |
| 1832 | } |
| 1833 | } |
| 1834 | } |
| 1835 | return logger_; |
| 1836 | } |
| 1837 | |
| 1838 | bool RegisteredLoggers::remove(const std::string& id) { |
| 1839 | if (id == base::consts::kDefaultLoggerId) { |
no test coverage detected