summaryrefslogtreecommitdiff
path: root/src/common/log_manager.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2014-05-29 23:03:03 -0400
committerGravatar bunnei2014-05-29 23:03:03 -0400
commit6fc62f8c93bd81f6207fcbdfe332b4e56c2aa2be (patch)
treed6a66ca0fdd3f6e2ff66cf1f88283107d525c0c7 /src/common/log_manager.cpp
parentcore: changed time delay before kernel reschedule to "approximate" a screen r... (diff)
downloadyuzu-6fc62f8c93bd81f6207fcbdfe332b4e56c2aa2be.tar.gz
yuzu-6fc62f8c93bd81f6207fcbdfe332b4e56c2aa2be.tar.xz
yuzu-6fc62f8c93bd81f6207fcbdfe332b4e56c2aa2be.zip
log: fixed to not print twice, enabled coloring, added OS print logging as its own type
Diffstat (limited to 'src/common/log_manager.cpp')
-rw-r--r--src/common/log_manager.cpp28
1 files changed, 15 insertions, 13 deletions
diff --git a/src/common/log_manager.cpp b/src/common/log_manager.cpp
index 146472888..d026fca56 100644
--- a/src/common/log_manager.cpp
+++ b/src/common/log_manager.cpp
@@ -10,14 +10,16 @@
10#include "common/thread.h" 10#include "common/thread.h"
11#include "common/file_util.h" 11#include "common/file_util.h"
12 12
13void GenericLog(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type, 13void GenericLog(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type, const char* file, int line,
14 const char *file, int line, const char* fmt, ...) 14 const char* function, const char* fmt, ...)
15{ 15{
16 va_list args; 16 va_list args;
17 va_start(args, fmt); 17 va_start(args, fmt);
18 if (LogManager::GetInstance()) 18
19 if (LogManager::GetInstance()) {
19 LogManager::GetInstance()->Log(level, type, 20 LogManager::GetInstance()->Log(level, type,
20 file, line, fmt, args); 21 file, line, function, fmt, args);
22 }
21 va_end(args); 23 va_end(args);
22} 24}
23 25
@@ -88,6 +90,8 @@ LogManager::LogManager()
88 m_Log[i]->AddListener(m_debuggerLog); 90 m_Log[i]->AddListener(m_debuggerLog);
89#endif 91#endif
90 } 92 }
93
94 m_consoleLog->Open();
91} 95}
92 96
93LogManager::~LogManager() 97LogManager::~LogManager()
@@ -107,8 +111,8 @@ LogManager::~LogManager()
107 delete m_debuggerLog; 111 delete m_debuggerLog;
108} 112}
109 113
110void LogManager::Log(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type, 114void LogManager::Log(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type, const char* file,
111 const char *file, int line, const char *format, va_list args) 115 int line, const char* function, const char *fmt, va_list args)
112{ 116{
113 char temp[MAX_MSGLEN]; 117 char temp[MAX_MSGLEN];
114 char msg[MAX_MSGLEN * 2]; 118 char msg[MAX_MSGLEN * 2];
@@ -117,17 +121,15 @@ void LogManager::Log(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type,
117 if (!log->IsEnabled() || level > log->GetLevel() || ! log->HasListeners()) 121 if (!log->IsEnabled() || level > log->GetLevel() || ! log->HasListeners())
118 return; 122 return;
119 123
120 CharArrayFromFormatV(temp, MAX_MSGLEN, format, args); 124 CharArrayFromFormatV(temp, MAX_MSGLEN, fmt, args);
121 125
122 static const char level_to_char[7] = "-NEWID"; 126 static const char level_to_char[7] = "ONEWID";
123 sprintf(msg, "%s %s:%u %c[%s]: %s\n", 127 sprintf(msg, "%s %s:%u %c[%s] %s: %s\n", Common::Timer::GetTimeFormatted().c_str(), file, line,
124 Common::Timer::GetTimeFormatted().c_str(), 128 level_to_char[(int)level], log->GetShortName(), function, temp);
125 file, line, level_to_char[(int)level], 129
126 log->GetShortName(), temp);
127#ifdef ANDROID 130#ifdef ANDROID
128 Host_SysMessage(msg); 131 Host_SysMessage(msg);
129#endif 132#endif
130 printf(msg); // TODO(ShizZy): RemoveMe when I no longer need this
131 log->Trigger(level, msg); 133 log->Trigger(level, msg);
132} 134}
133 135