summaryrefslogtreecommitdiff
path: root/src/InternalLogger.cpp
diff options
context:
space:
mode:
authorJason Maskell <[email protected]>2016-05-31 11:24:52 +0200
committerJason Maskell <[email protected]>2016-05-31 11:24:52 +0200
commit999fd20ca96b8d44d3ce418f118fb3b846038978 (patch)
treefc86969d4eb006f592560e7bd425b9a2db865be2 /src/InternalLogger.cpp
parentAdded path to opengl media search path. Removed commented out code left over ... (diff)
downloadwaveworks_archive-999fd20ca96b8d44d3ce418f118fb3b846038978.tar.xz
waveworks_archive-999fd20ca96b8d44d3ce418f118fb3b846038978.zip
Added support for RFC 104, the logging interface: https://docs.google.com/document/d/102b8k5pKYj9e-tMmG53aT5izur-qfUSPX1gBro4gN0Q/edit
Added a dumb implementation of the logger in the D3D11 sample. Added a method to the WaveWorks API to allow the user to set (override) the internal logger with their own supplied nv::ILogger derived object.
Diffstat (limited to 'src/InternalLogger.cpp')
-rw-r--r--src/InternalLogger.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/InternalLogger.cpp b/src/InternalLogger.cpp
new file mode 100644
index 0000000..e8e8898
--- /dev/null
+++ b/src/InternalLogger.cpp
@@ -0,0 +1,52 @@
+#include "InternalLogger.h"
+#include <iostream>
+#include <sstream>
+#include <windows.h>
+
+std::unique_ptr<InternalLogger> g_Logger;
+nv::ILogger* g_UserLogger = nullptr;
+
+InternalLogger::InternalLogger()
+{
+
+}
+
+InternalLogger::InternalLogger(nv::LogSeverity loggingLevel):
+ LoggingLevel(loggingLevel)
+{
+
+}
+
+nv::LogSeverity InternalLogger::getLoggingLevel()
+{
+ return LoggingLevel;
+}
+
+void InternalLogger::setLoggingLevel(nv::LogSeverity newLevel)
+{
+ LoggingLevel = newLevel;
+}
+
+void InternalLogger::log(const char* text, nv::LogSeverity severity, const char* filename, int linenumber)
+{
+ if (getLoggingLevel() > severity)
+ return;
+
+ std::ostringstream out;
+
+ out << filename << "(" << linenumber << "): " << "[" << nv::LogSeverityStrings[(int)severity] << "] " << text << std::endl;
+
+ OutputDebugStringA(out.str().c_str());
+}
+
+void InternalLogger::log(const wchar_t* text, nv::LogSeverity severity, const wchar_t* filename, int linenumber)
+{
+ if (getLoggingLevel() > severity)
+ return;
+
+ std::wstringstream out;
+
+ out << filename << "(" << linenumber << "): " << "[" << nv::LogSeverityStrings[(int)severity] << "] " << text << std::endl;
+
+ OutputDebugStringW(out.str().c_str());
+}