Index: src/liblogger/TLogger.cpp
===================================================================
diff -u -N -rcca174e74e108de1f5729e4cc6c46d2b9a5e25a7 -r12b36349f6214befeace08efa9acc7e03be0d847
--- src/liblogger/TLogger.cpp	(.../TLogger.cpp)	(revision cca174e74e108de1f5729e4cc6c46d2b9a5e25a7)
+++ src/liblogger/TLogger.cpp	(.../TLogger.cpp)	(revision 12b36349f6214befeace08efa9acc7e03be0d847)
@@ -1,44 +1,48 @@
-// ============================================================================
-//  Copyright (C) 2001-2016 by Jozef Starosczyk
-//  ixen@copyhandler.com
-//
-//  This program is free software; you can redistribute it and/or modify
-//  it under the terms of the GNU Library General Public License
-//  (version 2) as published by the Free Software Foundation;
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU Library General Public
-//  License along with this program; if not, write to the
-//  Free Software Foundation, Inc.,
-//  59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-// ============================================================================
-#include "stdafx.h"
-#include "TLogger.h"
-#include <boost/log/attributes/constant.hpp>
-#include "../libchcore/TCoreException.h"
-
-namespace keywords = boost::log::keywords;
-
-namespace chcore
-{
-	TLogger::TLogger(const TLoggerLevelConfigPtr& spLoggerConfig, const TLoggerLocationConfigPtr& spLogLocation, PCTSTR pszChannel) :
-		Logger(keywords::channel = pszChannel),
-		m_spLoggerConfig(spLoggerConfig)
-	{
-		if (!spLoggerConfig)
-			throw TCoreException(eErr_InvalidArgument, L"spLoggerConfig", LOCATION);
-		if (!spLogLocation)
-			throw TCoreException(eErr_InvalidArgument, L"spLogLocation", LOCATION);
-
-		m_iterLogPath = add_attribute("LogPath", boost::log::attributes::constant<TLoggerLocationConfigPtr>(spLogLocation)).first;
-	}
-
-	severity_level TLogger::GetMinSeverity() const
-	{
-		return m_spLoggerConfig->GetMinSeverityLevel();
-	}
-}
+// ============================================================================
+//  Copyright (C) 2001-2016 by Jozef Starosczyk
+//  ixen@copyhandler.com
+//
+//  This program is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Library General Public License
+//  (version 2) as published by the Free Software Foundation;
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU Library General Public
+//  License along with this program; if not, write to the
+//  Free Software Foundation, Inc.,
+//  59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+// ============================================================================
+#include "stdafx.h"
+#include "TLogger.h"
+#include "TMultiLoggerConfig.h"
+
+namespace logger
+{
+	TLogger::TLogger(const TLogFileDataPtr& spFileData, PCTSTR pszChannel) :
+		m_spFileData(spFileData),
+		m_spLoggerConfig(spFileData->GetLoggerConfig()->GetLoggerConfig(pszChannel)),
+		m_strChannel(pszChannel)
+	{
+		if (!spFileData)
+			throw std::invalid_argument("spFileData");
+	}
+
+	TLogFileDataPtr TLogger::GetLogFileData() const
+	{
+		return m_spFileData;
+	}
+
+	ESeverityLevel TLogger::GetMinSeverity() const
+	{
+		return m_spLoggerConfig->GetMinSeverityLevel();
+	}
+
+	TLogRecord TLogger::OpenLogRecord(ESeverityLevel eLevel) const
+	{
+		return TLogRecord(m_spFileData, eLevel);
+	}
+}