123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #include "StdInc.h"
- #include "CLogManager.h"
- #include "CLogger.h"
- CLogManager * CLogManager::instance = nullptr;
- boost::mutex CLogManager::smx;
- CLogManager * CLogManager::get()
- {
- TLockGuard _(smx);
- if(!instance)
- {
- instance = new CLogManager();
- }
- return instance;
- }
- CLogManager::CLogManager()
- {
- }
- CLogManager::~CLogManager()
- {
- BOOST_FOREACH(auto & i, loggers)
- {
- delete i.second;
- }
- }
- void CLogManager::addLogger(CGLogger * logger)
- {
- TWriteLock _(mx);
- loggers[logger->getDomain().getName()] = logger;
- }
- CGLogger * CLogManager::getLogger(const CLoggerDomain & domain)
- {
- TReadLock _(mx);
- auto it = loggers.find(domain.getName());
- if(it != loggers.end())
- {
- return it->second;
- }
- else
- {
- return nullptr;
- }
- }
|