Index: src/libchcore/TTask.cpp =================================================================== diff -u -N -r62d767936f1675e1db51174f53c91484fe691937 -r12b36349f6214befeace08efa9acc7e03be0d847 --- src/libchcore/TTask.cpp (.../TTask.cpp) (revision 62d767936f1675e1db51174f53c91484fe691937) +++ src/libchcore/TTask.cpp (.../TTask.cpp) (revision 12b36349f6214befeace08efa9acc7e03be0d847) @@ -41,21 +41,22 @@ #include #include "TLocalFilesystem.h" #include "TTaskConfigVerifier.h" +#include "../liblogger/TAsyncMultiLogger.h" namespace chcore { //////////////////////////////////////////////////////////////////////////// // TTask members TTask::TTask(const ISerializerPtr& spSerializer, const IFeedbackHandlerPtr& spFeedbackHandler, - const TTaskDefinition& rTaskDefinition, const TSmartPath& rLogPath, const TMultiLoggerConfigPtr& spLoggerConfig) : - m_spLogFactory(new TLoggerFactory(rLogPath, spLoggerConfig)), + const TTaskDefinition& rTaskDefinition, const TSmartPath& rLogPath, const logger::TMultiLoggerConfigPtr& spLoggerConfig) : + m_spLog(std::make_unique(logger::TAsyncMultiLogger::GetInstance()->CreateLoggerData(rLogPath.ToString(), spLoggerConfig), L"Task")), m_spInternalFeedbackHandler(spFeedbackHandler), m_spSrcPaths(new TBasePathDataContainer), m_bForce(false), m_bContinue(false), m_tSubTaskContext(m_tConfiguration, m_spSrcPaths, m_afFilters, - m_cfgTracker, m_spLogFactory, m_workerThread, + m_cfgTracker, m_spLog->GetLogFileData(), m_workerThread, std::make_shared()), m_tSubTasksArray(m_tSubTaskContext), m_spSerializer(spSerializer) @@ -65,19 +66,18 @@ if(!spSerializer) throw TCoreException(eErr_InvalidArgument, L"spSerializer", LOCATION); - m_spLog = m_spLogFactory->CreateLogger(L"Task"); m_tBaseData.SetLogPath(rLogPath); SetTaskDefinition(rTaskDefinition); } - TTask::TTask(const ISerializerPtr& spSerializer, const IFeedbackHandlerPtr& spFeedbackHandler, const TTaskBaseData& rBaseTaskData, const TMultiLoggerConfigPtr& spLoggerConfig) : - m_spLogFactory(new TLoggerFactory(rBaseTaskData.GetLogPath(), spLoggerConfig)), + TTask::TTask(const ISerializerPtr& spSerializer, const IFeedbackHandlerPtr& spFeedbackHandler, const TTaskBaseData& rBaseTaskData, const logger::TMultiLoggerConfigPtr& spLoggerConfig) : + m_spLog(std::make_unique(logger::TAsyncMultiLogger::GetInstance()->CreateLoggerData(rBaseTaskData.GetLogPath().ToString(), spLoggerConfig), L"Task")), m_spInternalFeedbackHandler(spFeedbackHandler), m_spSrcPaths(new TBasePathDataContainer), m_bForce(false), m_bContinue(false), m_tSubTaskContext(m_tConfiguration, m_spSrcPaths, m_afFilters, - m_cfgTracker, m_spLogFactory, m_workerThread, + m_cfgTracker, m_spLog->GetLogFileData(), m_workerThread, std::make_shared()), m_tSubTasksArray(m_tSubTaskContext), m_spSerializer(spSerializer) @@ -86,8 +86,6 @@ throw TCoreException(eErr_InvalidArgument, L"spFeedbackHandler", LOCATION); if(!spSerializer) throw TCoreException(eErr_InvalidArgument, L"spSerializer", LOCATION); - - m_spLog = m_spLogFactory->CreateLogger(L"Task"); } TTask::~TTask() @@ -220,7 +218,7 @@ } } - TTaskPtr TTask::Load(const ISerializerPtr& spSerializer, const IFeedbackHandlerPtr& spFeedbackHandler, const TMultiLoggerConfigPtr& spLoggerConfig) + TTaskPtr TTask::Load(const ISerializerPtr& spSerializer, const IFeedbackHandlerPtr& spFeedbackHandler, const logger::TMultiLoggerConfigPtr& spLoggerConfig) { TTaskBaseData tBaseData; ISerializerContainerPtr spContainer = spSerializer->GetContainer(_T("task"));