Mercurial > hg > orthanc
comparison Core/Logging.h @ 3489:e7723a39adf8
Fixed alignment issue in Toolbox::DetectEndianness() + made the internal logger
use an std::stringstream so that manipulators like "std::hex" are supported
(when using ORTHANC_ENABLE_LOGGING_PLUGIN or ORTHANC_ENABLE_LOGGING_STDIO)
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Sat, 10 Aug 2019 13:40:08 +0200 |
parents | 815b81142ff7 |
children | 94f4a18a79cc |
comparison
equal
deleted
inserted
replaced
3487:ce29644acd19 | 3489:e7723a39adf8 |
---|---|
141 }; | 141 }; |
142 | 142 |
143 class InternalLogger : public boost::noncopyable | 143 class InternalLogger : public boost::noncopyable |
144 { | 144 { |
145 private: | 145 private: |
146 InternalLevel level_; | 146 InternalLevel level_; |
147 std::string message_; | 147 std::stringstream messageStream_; |
148 | 148 |
149 public: | 149 public: |
150 InternalLogger(InternalLevel level, | 150 InternalLogger(InternalLevel level, |
151 const char* file, | 151 const char* file, |
152 int line); | 152 int line); |
154 ~InternalLogger(); | 154 ~InternalLogger(); |
155 | 155 |
156 template <typename T> | 156 template <typename T> |
157 InternalLogger& operator<< (const T& message) | 157 InternalLogger& operator<< (const T& message) |
158 { | 158 { |
159 message_ += boost::lexical_cast<std::string>(message); | 159 messageStream_ << message; |
160 return *this; | 160 return *this; |
161 } | 161 } |
162 }; | 162 }; |
163 } | 163 } |
164 } | 164 } |