diff options
Diffstat (limited to 'src/common/Logging')
-rw-r--r-- | src/common/Logging/Log.cpp | 21 | ||||
-rw-r--r-- | src/common/Logging/Log.h | 12 |
2 files changed, 16 insertions, 17 deletions
diff --git a/src/common/Logging/Log.cpp b/src/common/Logging/Log.cpp index 5a2445b327f..a20beb585a0 100644 --- a/src/common/Logging/Log.cpp +++ b/src/common/Logging/Log.cpp @@ -19,18 +19,18 @@ #include "Log.h" #include "AppenderConsole.h" #include "AppenderFile.h" -#include "AsioHacksImpl.h" #include "Common.h" #include "Config.h" #include "Errors.h" #include "Logger.h" #include "LogMessage.h" #include "LogOperation.h" +#include "Strand.h" #include "Util.h" #include <chrono> #include <sstream> -Log::Log() : AppenderId(0), lowestLogLevel(LOG_LEVEL_FATAL), _ioService(nullptr), _strand(nullptr) +Log::Log() : AppenderId(0), lowestLogLevel(LOG_LEVEL_FATAL), _ioContext(nullptr), _strand(nullptr) { m_logsTimestamp = "_" + GetTimestampStr(); RegisterAppender<AppenderConsole>(); @@ -228,11 +228,10 @@ void Log::write(std::unique_ptr<LogMessage>&& msg) const { Logger const* logger = GetLoggerByType(msg->type); - if (_ioService) + if (_ioContext) { - auto logOperation = std::make_shared<LogOperation>(logger, std::move(msg)); - - _ioService->post(_strand->wrap([logOperation](){ logOperation->call(); })); + std::shared_ptr<LogOperation> logOperation = std::make_shared<LogOperation>(logger, std::move(msg)); + Trinity::Asio::post(*_ioContext, Trinity::Asio::bind_executor(*_strand, [logOperation]() { logOperation->call(); })); } else logger->write(msg.get()); @@ -358,12 +357,12 @@ Log* Log::instance() return &instance; } -void Log::Initialize(boost::asio::io_service* ioService) +void Log::Initialize(Trinity::Asio::IoContext* ioContext) { - if (ioService) + if (ioContext) { - _ioService = ioService; - _strand = new Trinity::AsioStrand(*ioService); + _ioContext = ioContext; + _strand = new Trinity::Asio::Strand(*ioContext); } LoadFromConfig(); @@ -373,7 +372,7 @@ void Log::SetSynchronous() { delete _strand; _strand = nullptr; - _ioService = nullptr; + _ioContext = nullptr; } void Log::LoadFromConfig() diff --git a/src/common/Logging/Log.h b/src/common/Logging/Log.h index 80b52681ea1..740ffaf03c9 100644 --- a/src/common/Logging/Log.h +++ b/src/common/Logging/Log.h @@ -32,11 +32,11 @@ class Appender; class Logger; struct LogMessage; -namespace boost +namespace Trinity { - namespace asio + namespace Asio { - class io_service; + class IoContext; } } @@ -65,7 +65,7 @@ class TC_COMMON_API Log public: static Log* instance(); - void Initialize(boost::asio::io_service* ioService); + void Initialize(Trinity::Asio::IoContext* ioContext); void SetSynchronous(); // Not threadsafe - should only be called from main() after all threads are joined void LoadFromConfig(); void Close(); @@ -125,8 +125,8 @@ class TC_COMMON_API Log std::string m_logsDir; std::string m_logsTimestamp; - boost::asio::io_service* _ioService; - Trinity::AsioStrand* _strand; + Trinity::Asio::IoContext* _ioContext; + Trinity::Asio::Strand* _strand; }; #define sLog Log::instance() |