Test: Logging

Enabled logging in unit tests.
Seperated LogManager into LogManager (singleton stuff) and LogManagerImplementation (actual logging stuff)
Implemented simple FileLogger

review id = 13
This commit is contained in:
Manuel Dobusch
2014-05-06 17:03:50 +02:00
parent 82c88ebd97
commit 7badd1217f
12 changed files with 373 additions and 100 deletions
+7 -43
View File
@@ -26,37 +26,22 @@ LogManager::~LogManager()
void LogManager::addLogger(std::shared_ptr<Logger> logger)
{
std::lock_guard<std::mutex> lockGuard(m_loggerMutex);
m_loggers.push_back(logger);
m_logManagerImplementation.addLogger(logger);
}
void LogManager::removeLogger(std::shared_ptr<Logger> logger)
{
std::lock_guard<std::mutex> lockGuard(m_loggerMutex);
std::vector<std::shared_ptr<Logger>>::iterator it = std::find(m_loggers.begin(), m_loggers.end(), logger);
if (it != m_loggers.end())
{
m_loggers.erase(it);
}
m_logManagerImplementation.removeLogger(logger);
}
void LogManager::removeLoggersByType(const std::string& type)
{
std::lock_guard<std::mutex> lockGuard(m_loggerMutex);
for (unsigned int i = 0; i < m_loggers.size(); i++)
{
if (m_loggers[i]->getType() == type)
{
m_loggers.erase(m_loggers.begin() + i);
i--;
}
}
m_logManagerImplementation.removeLoggersByType(type);
}
int LogManager::getLoggerCount() const
{
std::lock_guard<std::mutex> lockGuard(m_loggerMutex);
return m_loggers.size();
return m_logManagerImplementation.getLoggerCount();
}
void LogManager::logInfo(
@@ -66,11 +51,7 @@ void LogManager::logInfo(
const unsigned int line
)
{
std::lock_guard<std::mutex> lockGuardLogger(m_loggerMutex);
for (unsigned int i = 0; i < m_loggers.size(); i++)
{
m_loggers[i]->logInfo(LogMessage(message, file, function, line, getTime()));
}
m_logManagerImplementation.logInfo(message, file, function, line);
}
void LogManager::logWarning(
@@ -80,11 +61,7 @@ void LogManager::logWarning(
const unsigned int line
)
{
std::lock_guard<std::mutex> lockGuardLogger(m_loggerMutex);
for (unsigned int i = 0; i < m_loggers.size(); i++)
{
m_loggers[i]->logWarning(LogMessage(message, file, function, line, getTime()));
}
m_logManagerImplementation.logWarning(message, file, function, line);
}
void LogManager::logError(
@@ -94,11 +71,7 @@ void LogManager::logError(
const unsigned int line
)
{
std::lock_guard<std::mutex> lockGuardLogger(m_loggerMutex);
for (unsigned int i = 0; i < m_loggers.size(); i++)
{
m_loggers[i]->logError(LogMessage(message, file, function, line, getTime()));
}
m_logManagerImplementation.logError(message, file, function, line);
}
std::shared_ptr<LogManager> LogManager::s_instance;
@@ -107,12 +80,3 @@ std::mutex LogManager::s_instanceMutex;
LogManager::LogManager()
{
}
tm LogManager::getTime()
{
time_t time;
std::time(&time);
tm result;
result = *localtime(&time);
return result;
}