From b12e6d045c140e3064aa90d279001be4479a26a2 Mon Sep 17 00:00:00 2001 From: Daviw Williams Date: Fri, 24 May 2013 13:26:26 +0200 Subject: [PATCH] Added additional logging streams. --- .../include/PolyVoxCore/Impl/ErrorHandling.h | 12 ++- .../PolyVoxCore/source/Impl/ErrorHandling.cpp | 76 ++++++++++++++++++- 2 files changed, 82 insertions(+), 6 deletions(-) diff --git a/library/PolyVoxCore/include/PolyVoxCore/Impl/ErrorHandling.h b/library/PolyVoxCore/include/PolyVoxCore/Impl/ErrorHandling.h index 17a31107..d40a561a 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/Impl/ErrorHandling.h +++ b/library/PolyVoxCore/include/PolyVoxCore/Impl/ErrorHandling.h @@ -68,13 +68,21 @@ freely, subject to the following restrictions: namespace PolyVox { + std::ostream& logTrace(void); + std::ostream& logDebug(void); + std::ostream& logInfo(void); + std::ostream& logWarning(void); std::ostream& logError(void); std::ostream& logFatal(void); // These take pointers rather than references to emphasise that the // user needs to keep the target alive as long as PolyVox is writing data. - void setErrorStream(std::ostream* errorStream); - void setFatalStream(std::ostream* fatalStream); + void setTraceStream(std::ostream* pStream); + void setDebugStream(std::ostream* pStream); + void setInfoStream(std::ostream* pStream); + void setWarningStream(std::ostream* pStream); + void setErrorStream(std::ostream* pStream); + void setFatalStream(std::ostream* pStream); } /* diff --git a/library/PolyVoxCore/source/Impl/ErrorHandling.cpp b/library/PolyVoxCore/source/Impl/ErrorHandling.cpp index 8cef5e6d..cce96bef 100644 --- a/library/PolyVoxCore/source/Impl/ErrorHandling.cpp +++ b/library/PolyVoxCore/source/Impl/ErrorHandling.cpp @@ -25,6 +25,74 @@ freely, subject to the following restrictions: namespace PolyVox { + // Trace stream for logging + std::ostream*& getTraceStreamInstance() + { + static std::ostream* s_pTraceStream = &(std::cerr); + return s_pTraceStream; + } + + void setTraceStream(std::ostream* pStream) + { + getTraceStreamInstance() = pStream; + } + + std::ostream& logTrace(void) + { + return *(getTraceStreamInstance()); + } + + // Debug stream for logging + std::ostream*& getDebugStreamInstance() + { + static std::ostream* s_pDebugStream = &(std::cerr); + return s_pDebugStream; + } + + void setDebugStream(std::ostream* pStream) + { + getDebugStreamInstance() = pStream; + } + + std::ostream& logDebug(void) + { + return *(getDebugStreamInstance()); + } + + // Info stream for logging + std::ostream*& getInfoStreamInstance() + { + static std::ostream* s_pInfoStream = &(std::cerr); + return s_pInfoStream; + } + + void setInfoStream(std::ostream* pStream) + { + getInfoStreamInstance() = pStream; + } + + std::ostream& logInfo(void) + { + return *(getInfoStreamInstance()); + } + + // Warning stream for logging + std::ostream*& getWarningStreamInstance() + { + static std::ostream* s_pWarningStream = &(std::cerr); + return s_pWarningStream; + } + + void setWarningStream(std::ostream* pStream) + { + getWarningStreamInstance() = pStream; + } + + std::ostream& logWarning(void) + { + return *(getWarningStreamInstance()); + } + // Error stream for logging std::ostream*& getErrorStreamInstance() { @@ -32,9 +100,9 @@ namespace PolyVox return s_pErrorStream; } - void setErrorStream(std::ostream* errorStream) + void setErrorStream(std::ostream* pStream) { - getErrorStreamInstance() = errorStream; + getErrorStreamInstance() = pStream; } std::ostream& logError(void) @@ -49,9 +117,9 @@ namespace PolyVox return s_pFatalStream; } - void setFatalStream(std::ostream* fatalStream) + void setFatalStream(std::ostream* pStream) { - getFatalStreamInstance() = fatalStream; + getFatalStreamInstance() = pStream; } std::ostream& logFatal(void)