Index: src/liblogger/TAsyncMultiLogger.cpp
===================================================================
diff -u -N -rdf9de596aad09b008aa076f8e5bb479f19c77259 -raa60fa730f746cd1f02278e07fb0fd5a41fbf7e6
--- src/liblogger/TAsyncMultiLogger.cpp	(.../TAsyncMultiLogger.cpp)	(revision df9de596aad09b008aa076f8e5bb479f19c77259)
+++ src/liblogger/TAsyncMultiLogger.cpp	(.../TAsyncMultiLogger.cpp)	(revision aa60fa730f746cd1f02278e07fb0fd5a41fbf7e6)
@@ -143,7 +143,7 @@
 						// append emergency message
 						if(!strError.empty())
 						{
-							spLogData->PushLogEntry(strError);
+							spLogData->PushLogEntry(strError.c_str());
 							spLogData->DisableLogging();
 						}
 
Index: src/liblogger/TLogFileData.cpp
===================================================================
diff -u -N -rdf9de596aad09b008aa076f8e5bb479f19c77259 -raa60fa730f746cd1f02278e07fb0fd5a41fbf7e6
--- src/liblogger/TLogFileData.cpp	(.../TLogFileData.cpp)	(revision df9de596aad09b008aa076f8e5bb479f19c77259)
+++ src/liblogger/TLogFileData.cpp	(.../TLogFileData.cpp)	(revision aa60fa730f746cd1f02278e07fb0fd5a41fbf7e6)
@@ -74,12 +74,12 @@
 		m_bLoggingEnabled = false;
 	}
 
-	void TLogFileData::PushLogEntry(std::wstring strLine)
+	void TLogFileData::PushLogEntry(const wchar_t* pszLine)
 	{
 		if(m_spLogFile && m_bLoggingEnabled)
 		{
 			boost::unique_lock<boost::shared_mutex> lock(m_mutex);
-			m_listEntries.push_back(strLine);
+			m_listEntries.push_back(pszLine ? pszLine : L"");
 			SetEvent(m_spHasEntriesEvent.get());
 		}
 	}
Index: src/liblogger/TLogFileData.h
===================================================================
diff -u -N -rdf9de596aad09b008aa076f8e5bb479f19c77259 -raa60fa730f746cd1f02278e07fb0fd5a41fbf7e6
--- src/liblogger/TLogFileData.h	(.../TLogFileData.h)	(revision df9de596aad09b008aa076f8e5bb479f19c77259)
+++ src/liblogger/TLogFileData.h	(.../TLogFileData.h)	(revision aa60fa730f746cd1f02278e07fb0fd5a41fbf7e6)
@@ -42,7 +42,7 @@
 		TLoggerPaths GetMainLogPath() const;
 
 	private:
-		void PushLogEntry(std::wstring strLine);
+		void PushLogEntry(const wchar_t* pszLine);
 		void DisableLogging();
 
 		std::shared_ptr<void> GetEntriesEvent() const;
Index: src/liblogger/TLogRecord.h
===================================================================
diff -u -N -r3d5880c6661c3ed500e0c1c739a923ae9ede0364 -raa60fa730f746cd1f02278e07fb0fd5a41fbf7e6
--- src/liblogger/TLogRecord.h	(.../TLogRecord.h)	(revision 3d5880c6661c3ed500e0c1c739a923ae9ede0364)
+++ src/liblogger/TLogRecord.h	(.../TLogRecord.h)	(revision aa60fa730f746cd1f02278e07fb0fd5a41fbf7e6)
@@ -67,7 +67,7 @@
 	inline TLogRecord::~TLogRecord()
 	{
 		*this << L"\r\n";
-		m_spFileData->PushLogEntry(str());
+		m_spFileData->PushLogEntry(str().c_str());
 	}
 
 	inline bool TLogRecord::IsEnabled() const