From bb6025ab5ff6ffc9187675312bc7b6570c6a300e Mon Sep 17 00:00:00 2001 From: Reece Date: Mon, 21 Feb 2022 21:19:12 +0000 Subject: [PATCH] [*] only pump this on dtor --- Source/Logging/Logger.cpp | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/Source/Logging/Logger.cpp b/Source/Logging/Logger.cpp index ab8df44c..b2c4002d 100644 --- a/Source/Logging/Logger.cpp +++ b/Source/Logging/Logger.cpp @@ -216,26 +216,31 @@ namespace Aurora::Logging } } + static void ForceFlushLogger(Logger *logger) + { + for (const auto &sink : logger->sinks) + { + if (!sink) + { + continue; + } + + try + { + sink->OnFlush(); + } + catch (...) + { + SysPushErrorCatch(); + } + } + } + void ForceFlushFlushNoLock() { for (const auto &logger : gFlushableLoggers) { - for (const auto &sink : logger->sinks) - { - if (!sink) - { - continue; - } - - try - { - sink->OnFlush(); - } - catch (...) - { - SysPushErrorCatch(); - } - } + ForceFlushLogger(logger); } } @@ -251,7 +256,7 @@ namespace Aurora::Logging AU_LOCK_GUARD(gGlobalSpin); ForceFlushLoggersNoLock(); - ForceFlushFlushNoLock(); + ForceFlushLogger(this); { AU_LOCK_GUARD(spin);