LSST Applications g0265f82a02+0e5473021a,g02d81e74bb+f5613e8b4f,g1470d8bcf6+190ad2ba91,g14a832a312+311607e4ab,g2079a07aa2+86d27d4dc4,g2305ad1205+a8e3196225,g295015adf3+b67ee847e5,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g3ddfee87b4+a761f810f3,g487adcacf7+17c8fdbcbd,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+65b5bd823e,g5a732f18d5+53520f316c,g64a986408d+f5613e8b4f,g6c1bc301e9+51106c2951,g858d7b2824+f5613e8b4f,g8a8a8dda67+585e252eca,g99cad8db69+6729933424,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,ga8c6da7877+ef4e3a5875,gb0e22166c9+60f28cb32d,gb6a65358fc+0e5473021a,gba4ed39666+c2a2e4ac27,gbb8dafda3b+e9bba80f27,gc120e1dc64+eee469a5e5,gc28159a63d+0e5473021a,gcf0d15dbbd+a761f810f3,gdaeeff99f8+f9a426f77a,ge6526c86ff+d4c1d4bfef,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gf1cff7945b+f5613e8b4f,w.2024.16
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | List of all members
lsst::log::LogMDCScope Class Reference

#include <Log.h>

Public Member Functions

 LogMDCScope (std::string const &key, std::string const &value)
 Constructor adds KEY/VALUE pair to current thread MDC.
 
 LogMDCScope (LogMDCScope const &)=delete
 
LogMDCScopeoperator= (LogMDCScope const &)=delete
 
 LogMDCScope (LogMDCScope &&other)
 
LogMDCScopeoperator= (LogMDCScope &&other)
 
 ~LogMDCScope ()
 Destructor restores old key value in MDC.
 

Detailed Description

Definition at line 807 of file Log.h.

Constructor & Destructor Documentation

◆ LogMDCScope() [1/3]

lsst::log::LogMDCScope::LogMDCScope ( std::string const & key,
std::string const & value )
inline

Constructor adds KEY/VALUE pair to current thread MDC.

Key should not be empty (not checked).

Definition at line 814 of file Log.h.

815 : _key(key)
816 {
817 _oldValue = Log::MDC(key, value);
818 }
static std::string MDC(std::string const &key, std::string const &value)
Places a KEY/VALUE pair in the Mapped Diagnostic Context (MDC) for the current thread.
Definition Log.cc:274

◆ LogMDCScope() [2/3]

lsst::log::LogMDCScope::LogMDCScope ( LogMDCScope const & )
delete

◆ LogMDCScope() [3/3]

lsst::log::LogMDCScope::LogMDCScope ( LogMDCScope && other)
inline

Definition at line 824 of file Log.h.

824 {
825 _key = other._key;
826 _oldValue = other._oldValue;
827 other._key.clear();
828 }
T clear(T... args)

◆ ~LogMDCScope()

lsst::log::LogMDCScope::~LogMDCScope ( )
inline

Destructor restores old key value in MDC.

Definition at line 847 of file Log.h.

847 {
848 if (not _key.empty()) {
849 if (_oldValue.empty()) {
850 Log::MDCRemove(_key);
851 } else {
852 Log::MDC(_key, _oldValue);
853 }
854 }
855 }
static void MDCRemove(std::string const &key)
Remove the value associated with KEY within the MDC.
Definition Log.cc:288
T empty(T... args)

Member Function Documentation

◆ operator=() [1/2]

LogMDCScope & lsst::log::LogMDCScope::operator= ( LogMDCScope && other)
inline

Definition at line 830 of file Log.h.

830 {
831 if (not _key.empty()) {
832 if (_oldValue.empty()) {
833 Log::MDCRemove(_key);
834 } else {
835 Log::MDC(_key, _oldValue);
836 }
837 }
838 _key = other._key;
839 _oldValue = other._oldValue;
840 other._key.clear();
841 return *this;
842 }

◆ operator=() [2/2]

LogMDCScope & lsst::log::LogMDCScope::operator= ( LogMDCScope const & )
delete

The documentation for this class was generated from the following file: