diff --git a/stuff/logging.hh b/stuff/logging.hh index a1bf4b0220c6382ece95ea669fb87699c980d373..11e4acf4a068ee865edeffaab6976acedbbd1f6c 100644 --- a/stuff/logging.hh +++ b/stuff/logging.hh @@ -14,6 +14,8 @@ #include <assert.h> #include "misc.hh" +class Logging; +Logging& Logger(); /** \brief handles all logging **/ @@ -483,6 +485,34 @@ public: } } + struct SuspendLocal + { + LogStream::PriorityType prio_; + SuspendLocal(LogStream::PriorityType prio = LogStream::default_suspend_priority) + : prio_(prio) + { + Logger().Suspend(prio_); + } + ~SuspendLocal() + { + Logger().Resume(prio_); + } + }; + + struct ResumeLocal + { + LogStream::PriorityType prio_; + ResumeLocal(LogStream::PriorityType prio = LogStream::default_suspend_priority) + : prio_(prio) + { + Logger().Resume(prio_); + } + ~ResumeLocal() + { + Logger().Suspend(prio_); + } + }; + private: std::string filename_; std::string filenameWoTime_;