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 }