//------------------------------------------------------------------------------------- void Logger::updateLogWatcherSetting(Network::Channel* pChannel, KBEngine::MemoryStream& s) { LogWatcher* pLogwatcher = &logWatchers_[pChannel->addr()]; if(!pLogwatcher->updateSetting(&s)) { ERROR_MSG(fmt::format("Logger::updateLogWatcherSetting: addr={} is failed!\n", pChannel->addr().c_str())); logWatchers_.erase(pChannel->addr()); } s.done(); }
//------------------------------------------------------------------------------------- void Messagelog::registerLogWatcher(Mercury::Channel* pChannel, KBEngine::MemoryStream& s) { LogWatcher* pLogwatcher = &logWatchers_[pChannel->addr()]; if(!pLogwatcher->loadFromStream(&s)) { ERROR_MSG(boost::format("Messagelog::registerLogWatcher: addr=%1% is failed!\n") % pChannel->addr().c_str()); logWatchers_.erase(pChannel->addr()); return; } pLogwatcher->addr(pChannel->addr()); INFO_MSG(boost::format("Messagelog::registerLogWatcher: addr=%1% is successfully!\n") % pChannel->addr().c_str()); }
//------------------------------------------------------------------------------------- void Logger::sendInitLogs(LogWatcher& logWatcher) { std::deque<LOG_ITEM*>::iterator iter = buffered_logs_.begin(); for(; iter != buffered_logs_.end(); ++iter) { logWatcher.onMessage((*iter)); } }
//------------------------------------------------------------------------------------- void Logger::registerLogWatcher(Network::Channel* pChannel, KBEngine::MemoryStream& s) { LogWatcher* pLogwatcher = &logWatchers_[pChannel->addr()]; if(!pLogwatcher->createFromStream(&s)) { ERROR_MSG(fmt::format("Logger::registerLogWatcher: addr={} is failed!\n", pChannel->addr().c_str())); logWatchers_.erase(pChannel->addr()); s.done(); return; } pLogwatcher->addr(pChannel->addr()); INFO_MSG(fmt::format("Logger::registerLogWatcher: addr={0} is successfully!\n", pChannel->addr().c_str())); bool first; s >> first; if(first) sendInitLogs(*pLogwatcher); }