43 LogManager* LogManager::msInstance = 0;
45 LogManager::LogManager()
51 LogManager::~LogManager()
53 MapLogStream& mapStream = msInstance->mMapSectionFileName;
54 for (MapLogStream::iterator iter=mapStream.begin(); iter!=mapStream.end(); ++iter)
56 LogStream * stream = iter->second;
57 if (stream == 0)
continue;
60 for (MapLogStream::iterator iter2=iter; iter2!=mapStream.end(); ++iter2)
62 if (iter2->second == stream) iter2->second = 0;
72 if (msInstance !=
nullptr)
81 if (msInstance ==
nullptr)
91 if (msInstance ==
nullptr)
94 MapLogStream& mapStream = msInstance->mMapSectionFileName;
95 MapLogStream::iterator iter = mapStream.find(_section);
96 if (iter == mapStream.end())
102 iter->second->start(_section,
LevelsName[_level]);
104 return *(iter->second);
112 MapLogStream& mapStream = msInstance->mMapSectionFileName;
122 for (MapLogStream::iterator iter=mapStream.begin(); iter!=mapStream.end(); ++iter)
124 if (iter->second->getFileName() == _file)
126 stream = iter->second;
133 mapStream[_section] = stream;
138 MapLogStream& mapStream = msInstance->mMapSectionFileName;
139 MapLogStream::iterator iter = mapStream.find(_section);
140 if (iter == mapStream.end())
return;
143 mapStream.erase(iter);
146 for (iter=mapStream.begin(); iter!=mapStream.end(); ++iter)
148 if (iter->second == stream)
154 if (mapStream.size() == 0)
shutdown();
159 std::ostringstream stream;
162 static std::string ret;
175 msInstance->mSTDOut = _enable;
181 return msInstance->mSTDOut;