Index: src/libchcore/TSubTaskContext.cpp
===================================================================
diff -u -r6f8b891b60eb0f33199fd29db75d4d9f4a22c248 -r62d767936f1675e1db51174f53c91484fe691937
--- src/libchcore/TSubTaskContext.cpp	(.../TSubTaskContext.cpp)	(revision 6f8b891b60eb0f33199fd29db75d4d9f4a22c248)
+++ src/libchcore/TSubTaskContext.cpp	(.../TSubTaskContext.cpp)	(revision 62d767936f1675e1db51174f53c91484fe691937)
@@ -30,20 +30,22 @@
 {
 	TSubTaskContext::TSubTaskContext(TConfig& rConfig, const TBasePathDataContainerPtr& spBasePaths,
 		const TFileFiltersArray& rFilters,
-		TTaskConfigTracker& rCfgTracker, const TSmartPath& rPathLogFile,
+		TTaskConfigTracker& rCfgTracker, const TLoggerFactoryPtr& spLoggerFactory,
 		TWorkerThreadController& rThreadController, const IFilesystemPtr& spFilesystem) :
 		m_rConfig(rConfig),
 		m_eOperationType(eOperation_None),
 		m_spBasePaths(spBasePaths),
 		m_pathDestination(),
 		m_rCfgTracker(rCfgTracker),
-		m_pathLogFile(rPathLogFile),
+		m_spLoggerFactory(spLoggerFactory),
 		m_rThreadController(rThreadController),
 		m_spFilesystem(spFilesystem),
 		m_rFilters(rFilters)
 	{
 		if (!spFilesystem)
 			throw TCoreException(eErr_InvalidArgument, L"spFilesystem", LOCATION);
+		if (!spLoggerFactory)
+			throw TCoreException(eErr_InvalidArgument, L"spLoggerFactory", LOCATION);
 	}
 
 	TSubTaskContext::~TSubTaskContext()
@@ -105,16 +107,11 @@
 		return m_rCfgTracker;
 	}
 
-	TSmartPath TSubTaskContext::GetLogPath() const
+	TLoggerFactoryPtr TSubTaskContext::GetLogFactory() const
 	{
-		return m_pathLogFile;
+		return m_spLoggerFactory;
 	}
 
-	void TSubTaskContext::SetLogPath(const TSmartPath& pathLog)
-	{
-		m_pathLogFile = pathLog;
-	}
-
 	TWorkerThreadController& TSubTaskContext::GetThreadController()
 	{
 		return m_rThreadController;