Index: src/liblogger/TLogRecord.h =================================================================== diff -u -N -r8f634460db3f225ca24f2e447b3730d4f0614166 -r7de00e54431d78b6c54fad6fb163dbc306381ef5 --- src/liblogger/TLogRecord.h (.../TLogRecord.h) (revision 8f634460db3f225ca24f2e447b3730d4f0614166) +++ src/liblogger/TLogRecord.h (.../TLogRecord.h) (revision 7de00e54431d78b6c54fad6fb163dbc306381ef5) @@ -21,16 +21,15 @@ #include #include "TLogFileData.h" -#include -#include "TDateTimeFormatter.h" +#include +#include namespace logger { - // do not export! class TLogRecord : public std::wstringstream { public: - TLogRecord(const TLogFileDataPtr& spFileData, ESeverityLevel eLevel); + TLogRecord(const TLogFileDataPtr& spFileData, ESeverityLevel eLevel, const std::wstring& wstrChannel); TLogRecord(const TLogRecord&) = delete; TLogRecord(TLogRecord&& rSrc); @@ -53,10 +52,13 @@ { } - inline TLogRecord::TLogRecord(const TLogFileDataPtr& spFileData, ESeverityLevel eLevel) : + inline TLogRecord::TLogRecord(const TLogFileDataPtr& spFileData, ESeverityLevel eLevel, const std::wstring& wstrChannel) : m_spFileData(spFileData) { - *this << TDateTimeFormatter::GetCurrentTime() << L" " << SeverityLevelToString(eLevel) << L" "; + boost::posix_time::wtime_facet* facet = new boost::posix_time::wtime_facet(); + facet->format(L"%Y-%m-%d %H:%M:%S.%f"); + imbue(std::locale(std::locale::classic(), facet)); + *this << boost::posix_time::microsec_clock::local_time() << L" [" << SeverityLevelToString(eLevel) << L"] " << wstrChannel << L": "; } inline TLogRecord::~TLogRecord() @@ -76,4 +78,13 @@ } } +#ifdef _MFC_VER + +inline std::wostream& operator<<(std::wostream &os, const CString& str) +{ + return os << (PCTSTR)str; +} + #endif + +#endif