summaryrefslogtreecommitdiff
path: root/Source/Core/Common/Src/LogManager.cpp
diff options
context:
space:
mode:
authorhrydgard <hrydgard@gmail.com>2009-03-20 21:23:36 +0000
committerhrydgard <hrydgard@gmail.com>2009-03-20 21:23:36 +0000
commit866e393426edbcf0a85585baf5feaa63537e4094 (patch)
treee267765a60217215a41eaaf5f5135d79a5279833 /Source/Core/Common/Src/LogManager.cpp
parentaa7fe1edee2511f7a28c30b3b0084c8d9cca035c (diff)
More log fixing: Write to Window checkbox added, fix some log levels again, clean some code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2701 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/Common/Src/LogManager.cpp')
-rw-r--r--Source/Core/Common/Src/LogManager.cpp35
1 files changed, 12 insertions, 23 deletions
diff --git a/Source/Core/Common/Src/LogManager.cpp b/Source/Core/Common/Src/LogManager.cpp
index 0da4e72452..5cc9c63cfb 100644
--- a/Source/Core/Common/Src/LogManager.cpp
+++ b/Source/Core/Common/Src/LogManager.cpp
@@ -3,7 +3,8 @@
LogManager *LogManager::m_logManager = NULL;
-LogManager::LogManager() {
+LogManager::LogManager()\
+ : logMutex(1) {
// create log files
m_Log[LogTypes::MASTER_LOG] = new LogContainer("*", "Master Log");
m_Log[LogTypes::BOOT] = new LogContainer("BOOT", "Boot");
@@ -42,7 +43,6 @@ LogManager::LogManager() {
m_Log[LogTypes::WII_IPC_WIIMOTE] = new LogContainer("WII_IPC_WIIMOTE","WII IPC WIIMOTE");
m_Log[LogTypes::ACTIONREPLAY] = new LogContainer("ActionReplay", "ActionReplay");
- logMutex = new Common::CriticalSection(1);
m_fileLog = new FileLogListener(MAIN_LOG_FILE);
m_consoleLog = new ConsoleListener();
@@ -54,8 +54,7 @@ LogManager::LogManager() {
}
LogManager::~LogManager() {
- delete [] &m_Log;
- delete logMutex;
+ delete [] &m_Log; // iffy :P
for (int i = 0; i < LogTypes::NUMBER_OF_LOGS; ++i) {
m_logManager->removeListener((LogTypes::LOG_TYPE)i, m_fileLog);
m_logManager->removeListener((LogTypes::LOG_TYPE)i, m_consoleLog);
@@ -78,23 +77,23 @@ void LogManager::Log(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type,
va_start(args, format);
CharArrayFromFormatV(temp, MAX_MSGLEN, format, args);
va_end(args);
- sprintf(msg, "%s: %i %s %s\n",
+
+ static const char level_to_char[7] = "-NEWID";
+ sprintf(msg, "%s %c: %s %s\n",
Common::Timer::GetTimeFormatted().c_str(),
- // PowerPC::ppcState.DebugCount,
- (int)level,
+ level_to_char[(int)level],
log->getShortName(),
temp);
- logMutex->Enter();
+ logMutex.Enter();
log->trigger(level, msg);
- logMutex->Leave();
-
+ logMutex.Leave();
}
void LogManager::removeListener(LogTypes::LOG_TYPE type, LogListener *listener) {
- logMutex->Enter();
+ logMutex.Enter();
m_Log[type]->removeListener(listener);
- logMutex->Leave();
+ logMutex.Leave();
}
LogContainer::LogContainer(const char* shortName, const char* fullName, bool enable)
@@ -106,17 +105,7 @@ LogContainer::LogContainer(const char* shortName, const char* fullName, bool ena
// LogContainer
void LogContainer::addListener(LogListener *listener) {
- bool exists = false;
-
- std::vector<LogListener *>::iterator i;
- for(i = listeners.begin(); i != listeners.end(); i++) {
- if ((*i) == listener) {
- exists = true;
- break;
- }
- }
-
- if (! exists)
+ if (!isListener(listener))
listeners.push_back(listener);
}