common/Log.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
New commits: commit c6c673ed6fb5ff213fcd3030a38e221d28e6aa86 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> AuthorDate: Sun Mar 24 23:16:29 2019 -0400 Commit: Ashod Nakashian <ashnak...@gmail.com> CommitDate: Sat Aug 17 03:38:43 2019 +0200 wsd: cache the logger instance to avoid costly lookups Change-Id: Idf9261d46b44afc42a960146886c180e37d8d51f Reviewed-on: https://gerrit.libreoffice.org/69641 Reviewed-by: Michael Meeks <michael.me...@collabora.com> Tested-by: Michael Meeks <michael.me...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/71085 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/common/Log.cpp b/common/Log.cpp index 5a0c2655d..4441eb785 100644 --- a/common/Log.cpp +++ b/common/Log.cpp @@ -45,11 +45,13 @@ namespace Log struct StaticNameHelper { private: - std::atomic<bool> _inited; + Poco::Logger* _logger; std::string _name; std::string _id; + std::atomic<bool> _inited; public: StaticNameHelper() : + _logger(nullptr), _inited(true) { } @@ -67,6 +69,9 @@ namespace Log void setName(const std::string& name) { _name = name; } const std::string& getName() const { return _name; } + + void setLogger(Poco::Logger* logger) { _logger = logger; }; + Poco::Logger* getLogger() { return _logger; } }; static StaticNameHelper Source; @@ -179,6 +184,7 @@ namespace Log * */ channel->open(); auto& logger = Poco::Logger::create(Source.getName(), channel, Poco::Message::PRIO_TRACE); + Source.setLogger(&logger); logger.setLevel(logLevel.empty() ? std::string("trace") : logLevel); @@ -201,7 +207,9 @@ namespace Log Poco::Logger& logger() { - return Poco::Logger::get(Source.getInited() ? Source.getName() : std::string()); + Poco::Logger* pLogger = Source.getLogger(); + return pLogger ? *pLogger + : Poco::Logger::get(Source.getInited() ? Source.getName() : std::string()); } #if !MOBILEAPP _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits