ATLAS Offline Software
DbPrint.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //====================================================================
6 // APR Printer object
7 //--------------------------------------------------------------------
8 
9 #ifndef POOL_DBPRINT_H
10 #define POOL_DBPRINT_H 1
11 
12 #include "GaudiKernel/MsgStream.h"
13 #include "GaudiKernel/Bootstrap.h"
14 #include "GaudiKernel/ISvcLocator.h"
15 #include <atomic>
16 
17 
18 namespace pool {
19 
20  namespace DbPrintLvl {
22  static const MsgLevel None = MsgLevel::NIL;
23  static const MsgLevel Verbose = MsgLevel::VERBOSE;
24  static const MsgLevel Debug = MsgLevel::DEBUG;
25  static const MsgLevel Info = MsgLevel::INFO;
26  static const MsgLevel Warning = MsgLevel::WARNING;
27  static const MsgLevel Error = MsgLevel::ERROR;
28  static const MsgLevel Fatal = MsgLevel::FATAL;
29  static const MsgLevel Always = MsgLevel::ALWAYS;
30 
31  extern std::atomic<MsgLevel> outputLvl;
32  inline void setLevel( MsgLevel l ) { outputLvl=l; }
33  }
34 
35 
36  class DbPrint : public MsgStream
37  {
38  public:
39  DbPrint( const std::string& name )
40  : MsgStream( Gaudi::svcLocator()->service<IMessageSvc>( "MessageSvc" ).get(), name )
41  {
42  if( DbPrintLvl::outputLvl != DbPrintLvl::None ) {
44  }
45  }
46 
47  static MsgStream& endmsg( MsgStream& s ) { return ::endmsg(s); }
48  };
49 
50 } // End namespace pool
51 #endif // POOL_DBPRINT_H
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
pool::DbPrint
Definition: DbPrint.h:37
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
pool::DbPrintLvl::outputLvl
std::atomic< MsgLevel > outputLvl
pool
pool namespace
Definition: libname.h:15
python.Constants.ERROR
int ERROR
Definition: Control/AthenaCommon/python/Constants.py:18
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
pool::DbPrint::endmsg
static MsgStream & endmsg(MsgStream &s)
Definition: DbPrint.h:47
pool::DbPrintLvl::setLevel
void setLevel(MsgLevel l)
Definition: DbPrint.h:32
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
TrigConf::MSGTC::ALWAYS
@ ALWAYS
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:29
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
python.Constants.WARNING
int WARNING
Definition: Control/AthenaCommon/python/Constants.py:17
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
python.Constants.INFO
int INFO
Definition: Control/AthenaCommon/python/Constants.py:16
DEBUG
#define DEBUG
Definition: page_access.h:11
get
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition: hcg.cxx:127
Gaudi
=============================================================================
Definition: CaloGPUClusterAndCellDataMonitorOptions.h:273
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
TrigConf::MSGTC::NIL
@ NIL
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:22
pool::DbPrintLvl::MsgLevel
MSG::Level MsgLevel
Definition: DbPrint.h:21
pool::DbPrint::DbPrint
DbPrint(const std::string &name)
Definition: DbPrint.h:39