1 #define DEBUG // to test the debu logging
3 #include <utl/ErrorLogger.h>
4 #include <utl/Verbosity.h>
7 #include <tst/Verify.h>
8 #include <cppunit/extensions/HelperMacros.h>
30 CPPUNIT_TEST(testSeverityString);
31 CPPUNIT_TEST(testStream);
32 CPPUNIT_TEST(testLowLevel);
33 CPPUNIT_TEST(testMacros);
34 CPPUNIT_TEST(testSeverity);
35 CPPUNIT_TEST(testG4Logging);
36 CPPUNIT_TEST(testVerbosity);
38 CPPUNIT_TEST_SUITE_END();
47 log.SetColorOutput(
false);
68 INFO(
"Hi");
const auto line = __LINE__;
70 b <<
"[INFO] Utilities/ErrorLogger/testErrorLogger.cc:" << line <<
": testStream: Hi\n";
71 CPPUNIT_ASSERT(Verify<Equal>(a.str(), b.str()));
82 CPPUNIT_ASSERT(Verify<Equal>(a.str(), std::string(
"LOW: Hello Log terse\n")));
86 CPPUNIT_ASSERT(Verify<Equal>(a.str(), std::string(
"[INFO] LOWLEVEL:0: LOW: Hello Log verbose\n")));
91 b <<
"[INFO] Utilities/ErrorLogger/testErrorLogger.cc:" << line <<
": testLowLevel: Log again\n";
92 CPPUNIT_ASSERT(Verify<Equal>(a.str(), b.str()));
106 b <<
"[DEBUG] Utilities/ErrorLogger/testErrorLogger.cc:" << line <<
": testMacros: Debug\n";
107 CPPUNIT_ASSERT(Verify<Equal>(a.str(), b.str()));
110 INFO(
"Info"); line = __LINE__;
112 b <<
"[INFO] Utilities/ErrorLogger/testErrorLogger.cc:" << line <<
": testMacros: Info\n";
113 CPPUNIT_ASSERT(Verify<Equal>(a.str(), b.str()));
116 WARNING(
"Warning"); line = __LINE__;
118 b <<
"[WARN] Utilities/ErrorLogger/testErrorLogger.cc:" << line <<
": testMacros: Warning\n";
119 CPPUNIT_ASSERT(Verify<Equal>(a.str(), b.str()));
122 ERROR(
"Error"); line = __LINE__;
124 b <<
"[ERROR] Utilities/ErrorLogger/testErrorLogger.cc:" << line <<
": testMacros: Error\n";
125 CPPUNIT_ASSERT(Verify<Equal>(a.str(), b.str()));
128 FATAL(
"Fatal"); line = __LINE__;
130 b <<
"[FATAL] Utilities/ErrorLogger/testErrorLogger.cc:" << line <<
": testMacros: Fatal\n";
131 CPPUNIT_ASSERT(Verify<Equal>(a.str(), b.str()));
134 std::ostringstream info;
135 info <<
"We are in an ostringstream!";
136 INFO(info); line = __LINE__;
138 b <<
"[INFO] Utilities/ErrorLogger/testErrorLogger.cc:" << line <<
": testMacros: We are in an ostringstream!\n";
139 CPPUNIT_ASSERT(Verify<Equal>(a.str(), b.str()));
143 INFO(
"A terse log message");
144 CPPUNIT_ASSERT(Verify<Equal>(a.str(), std::string(
"A terse log message\n")));
148 WARNING(
"A verbose warning"); line = __LINE__;
150 b <<
"[WARN] Utilities/ErrorLogger/testErrorLogger.cc:" << line <<
": testMacros: A verbose warning\n";
151 CPPUNIT_ASSERT(Verify<Equal>(a.str(), b.str()));
155 CPPUNIT_ASSERT(Verify<Equal>(a.str(), std::string(
"testMacros: A terse warning with verbose default\n")));
161 std::ostringstream
a;
167 CPPUNIT_ASSERT(Verify<Equal>(a.str(), std::string(
"")));
170 CPPUNIT_ASSERT(Verify<Equal>(a.str(), std::string(
"")));
173 CPPUNIT_ASSERT(Verify<Equal>(a.str(), std::string(
"")));
175 ERROR(
"error");
const auto line = __LINE__;
176 std::ostringstream
b;
177 b <<
"[ERROR] Utilities/ErrorLogger/testErrorLogger.cc:" << line <<
": testSeverity: error\n";
178 CPPUNIT_ASSERT(Verify<Equal>(a.str(), b.str()));
180 FATAL(
"fatal");
const auto line2 = __LINE__;
181 b <<
"[FATAL] Utilities/ErrorLogger/testErrorLogger.cc:" << line2 <<
": testSeverity: fatal\n";
182 CPPUNIT_ASSERT(Verify<Equal>(a.str(), b.str()));
188 std::ostringstream
a;
192 CPPUNIT_ASSERT(Verify<Equal>(a.str(), std::string(
"[INFO] G4COut: Geant4 output\n")));
196 CPPUNIT_ASSERT(Verify<Equal>(a.str(), std::string(
"[ERROR] G4CErr: Geant4 error\n")));
202 std::ostringstream
a;
206 INFO(
"A log message");
const auto line = __LINE__;
207 std::ostringstream
b;
208 b <<
"[INFO] Utilities/ErrorLogger/testErrorLogger.cc:" << line <<
": testVerbosity: A log message\n";
209 CPPUNIT_ASSERT(Verify<Equal>(a.str(), b.str()));
213 INFO(
"A log message");
214 CPPUNIT_ASSERT(Verify<Equal>(a.str(), std::string(
"[INFO] testVerbosity: A log message\n")));
218 INFO(
"A log message");
219 CPPUNIT_ASSERT(Verify<Equal>(a.str(), std::string(
"testVerbosity: A log message\n")));
223 INFO(
"A log message");
224 CPPUNIT_ASSERT(Verify<Equal>(a.str(), std::string(
"A log message\n")));
228 INFO(
"A log message");
229 CPPUNIT_ASSERT(Verify<Equal>(a.str(), std::string(
"")));
void Log(const ESeverityLevel severity, const std::string &functionName, const std::string &fileName, const int lineNumber, const std::string &message, EVerbosity verbosity=Verbosity::eDefault, bool stripBaseDir=true) const
General interface for logging a message.
void testSeverityString()
Include filename and line number.
General (informational) message.
void SetVerbosity(const EVerbosity verbosity)
Set the verbosity level.
#define LOGG4COUT(message)
#define INFO(message)
Macro for logging informational messages.
void SetStream(std::ostream &stream)
#define FATAL(message)
Macro for logging fatal messages.
CPPUNIT_TEST_SUITE_REGISTRATION(testAiresShowerFile)
Include function or facility name.
#define DEBUGLOG(message)
Macro for logging debugging messages.
#define LOG_MESSAGE_(severity, message)
Standard message logging macro.
#define LOGG4CERR(message)
#define WARNING(message)
Macro for logging warning messages.
Report severity level of message.
#define WARNING_TERSE(message)
Macro for logging warning messages.
static ErrorLogger & GetInstance()
#define ERROR(message)
Macro for logging error messages.