summaryrefslogtreecommitdiff
path: root/Source/Core/Common/LogManager.cpp
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2014-04-30 18:57:59 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2014-04-30 18:57:59 -0500
commit1b581b7c27e06ed19d28e04c4345ce181fafc36e (patch)
tree5c26ff1e3dd8a0e04446bc246c9834566ef3cc47 /Source/Core/Common/LogManager.cpp
parent951612f08e1db15aeef35512bcb37d93dcb30b25 (diff)
parentee76a51d1f7062661e236caa39a1031e4608b587 (diff)
Merge pull request #62 from degasus/log_truncate_path
Truncate the path on logging
Diffstat (limited to 'Source/Core/Common/LogManager.cpp')
-rw-r--r--Source/Core/Common/LogManager.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/Source/Core/Common/LogManager.cpp b/Source/Core/Common/LogManager.cpp
index bc4f9300c6..cb86d045d7 100644
--- a/Source/Core/Common/LogManager.cpp
+++ b/Source/Core/Common/LogManager.cpp
@@ -22,6 +22,19 @@
void GenericLog(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type,
const char *file, int line, const char* fmt, ...)
{
+#ifdef _WIN32
+ int delimiter = '\\';
+#else
+ int delimiter = '/';
+#endif
+ // The used macro __FILE__ differs between GCC and VS:
+ // GCC defines the full path, VS relative to the local project file.
+ // It would be the best to get the one relative to the project directory,
+ // but the full path is even worse, so just strip it to the filename itself.
+ const char* basefile = strrchr(file, delimiter);
+ if(basefile != nullptr)
+ file = basefile + 1;
+
va_list args;
va_start(args, fmt);
if (LogManager::GetInstance())