File indexing completed on 2024-04-06 12:06:57
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #ifndef CSCDQM_Logger_H
0020 #define CSCDQM_Logger_H
0021
0022 #include <iostream>
0023 #include <iomanip>
0024
0025
0026 #include <FWCore/MessageLogger/interface/MessageLogger.h>
0027
0028 #ifdef DQMGLOBAL
0029
0030 #define LOG_DEBUG ((!edm::MessageDrop::instance()->debugEnabled) ? cscdqm::LogDebugger(false) : cscdqm::LogDebugger())
0031
0032 #endif
0033
0034 #ifdef DQMLOCAL
0035
0036 #define LOG_DEBUG cscdqm::LogDebugger()
0037
0038 #endif
0039
0040 #define LOG_ERROR cscdqm::LogError()
0041 #define LOG_WARN cscdqm::LogWarn()
0042 #define LOG_INFO cscdqm::LogInfo()
0043 #define LOG_COUT cscdqm::LogCout()
0044
0045 namespace cscdqm {
0046
0047
0048
0049
0050
0051 class Logger {};
0052
0053
0054
0055
0056
0057
0058 class LogInfo : public edm::LogInfo, public Logger {
0059 #ifdef DQMGLOBAL
0060 public:
0061 LogInfo() : edm::LogInfo("") {}
0062 #else
0063 public:
0064 LogInfo() : edm::LogInfo() {}
0065 #endif
0066 };
0067
0068
0069
0070
0071
0072
0073 class LogWarn : public edm::LogWarning, public Logger {
0074 #ifdef DQMGLOBAL
0075 public:
0076 LogWarn() : edm::LogWarning("") {}
0077 #else
0078 public:
0079 LogWarn() : edm::LogWarning() {}
0080 #endif
0081 };
0082
0083
0084
0085
0086
0087
0088 class LogError : public edm::LogError, public Logger {
0089 #ifdef DQMGLOBAL
0090 public:
0091 LogError() : edm::LogError("") {}
0092 #else
0093 public:
0094 LogError() : edm::LogError() {}
0095 #endif
0096 };
0097
0098 #ifdef DQMGLOBAL
0099
0100
0101
0102
0103
0104
0105 class LogDebugger : public edm::LogDebug_, public Logger {
0106 public:
0107 LogDebugger() : edm::LogDebug_("", __FILE__, __LINE__) {}
0108 LogDebugger(const bool empty) : edm::LogDebug_() {}
0109 };
0110
0111 #endif
0112
0113 #ifdef DQMLOCAL
0114
0115
0116
0117
0118
0119
0120 class LogDebugger : public edm::LogDebug, public Logger {
0121 public:
0122 LogDebugger() : edm::LogDebug() {}
0123 };
0124
0125 #endif
0126
0127
0128
0129
0130
0131
0132 class LogCout : public Logger {
0133 public:
0134 LogCout() {}
0135 ~LogCout() { std::cout << std::endl; }
0136
0137 template <class T>
0138 LogCout& operator<<(T const& t) {
0139 std::cout << t;
0140 return *this;
0141 }
0142
0143 LogCout& operator<<(std::ostream& (*f)(std::ostream&)) {
0144 std::cout << f;
0145 return *this;
0146 }
0147
0148 LogCout& operator<<(std::ios_base& (*f)(std::ios_base&)) {
0149 std::cout << f;
0150 return *this;
0151 }
0152 };
0153
0154 }
0155
0156 #endif