Mercurial > hg > orthanc
diff Core/Logging.cpp @ 4004:9b5ace33a00d
cleaning SetErrorWarnInfoLoggingStreams()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sat, 06 Jun 2020 11:14:10 +0200 |
parents | 3c19371090c3 |
children | 7f9909062d9c |
line wrap: on
line diff
--- a/Core/Logging.cpp Sat Jun 06 11:08:59 2020 +0200 +++ b/Core/Logging.cpp Sat Jun 06 11:14:10 2020 +0200 @@ -841,24 +841,27 @@ } } - void SetErrorWarnInfoLoggingStreams(std::ostream* errorStream, - std::ostream* warningStream, - std::ostream* infoStream) + void SetErrorWarnInfoLoggingStreams(std::ostream& errorStream, + std::ostream& warningStream, + std::ostream& infoStream) { - boost::mutex::scoped_lock lock(loggingMutex_); std::unique_ptr<LoggingContext> old; + { + boost::mutex::scoped_lock lock(loggingMutex_); + #if __cplusplus < 201103L - old.reset(loggingContext_.release()); + old.reset(loggingContext_.release()); #else - old = std::move(loggingContext_); + old = std::move(loggingContext_); #endif - loggingContext_.reset(new LoggingContext); - loggingContext_->error_ = errorStream; - loggingContext_->warning_ = warningStream; - loggingContext_->info_ = infoStream; - lock.unlock(); + loggingContext_.reset(new LoggingContext); + loggingContext_->error_ = &errorStream; + loggingContext_->warning_ = &warningStream; + loggingContext_->info_ = &infoStream; + } + EnableInfoLevel(old->infoEnabled_); EnableTraceLevel(old->traceEnabled_); }