Class to handle routing and writing of error messages. More...
#include "utl/ErrorLogger.h"
Public Types | |
enum | ESeverityLevel { eDebug = -1, eMinSeverity = eDebug, eInfo = 0, eWarning = 1, eError = 2, eFatal = 3, eMaxSeverity = eFatal } |
Message severity levels. More... | |
typedef Verbosity::EVerbosity | EVerbosity |
Public Member Functions | |
ESeverityLevel | GetMinSeverity () const |
Get the minimal severity. More... | |
std::string | GetSeverityName (const ESeverityLevel severity) const |
Get string name for severity level. More... | |
EVerbosity | GetVerbosity () const |
Get the verbosity level. More... | |
bool | HasColor () const |
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. More... | |
void | Log (const ESeverityLevel severity, const std::string &functionName, const std::string &fileName, const int lineNumber, const std::ostringstream &message, const EVerbosity verbosity=Verbosity::eDefault, bool stripBaseDir=true) const |
Dump message from ostringstream instead of of a string . More... | |
void | Log (const ESeverityLevel severity, const std::string &functionName, const std::string &fileName, const int lineNumber, const boost::format &message, const EVerbosity verbosity=Verbosity::eDefault, bool stripBaseDir=true) const |
Dump message from boost::format instead of of a string . More... | |
void | SetColorOutput (const bool color) |
void | SetMinSeverity (const ESeverityLevel severity) |
Set minimal severity for reporting. More... | |
void | SetStream (std::ostream &stream) |
void | SetVerbosity (const EVerbosity verbosity) |
Set the verbosity level. More... | |
void | WriteErrorMessagesToStream () |
Static Public Member Functions | |
static ErrorLogger & | GetInstance () |
Private Member Functions | |
ErrorLogger () | |
ErrorLogger (const ErrorLogger &er) | |
ErrorLogger & | operator= (const ErrorLogger &rhs) |
~ErrorLogger ()=default | |
Private Attributes | |
unsigned int | fBaseDirLength = 0 |
bool | fColorOutput = false |
std::map< std::string, int > | fListOfErrorMessages |
ESeverityLevel | fMinSeverity = eInfo |
std::ostream * | fOStream = nullptr |
Current stream for logging messages. More... | |
EVerbosity | fVerbosity = Verbosity::eFileInfo |
Friends | |
class | LeakingSingleton< ErrorLogger > |
Class to handle routing and writing of error messages.
Interface to the Offline Error logger.
General routing
Improve message formating
Definition at line 34 of file ErrorLogger.h.
Definition at line 37 of file ErrorLogger.h.
Message severity levels.
Enumerator | |
---|---|
eDebug |
Debugging message. |
eMinSeverity | |
eInfo |
General (informational) message. |
eWarning |
Warning message. |
eError |
Error message. |
eFatal |
Fatal error message. |
eMaxSeverity |
Definition at line 40 of file ErrorLogger.h.
|
private |
Definition at line 15 of file ErrorLogger.cc.
|
privatedefault |
|
private |
|
inlinestaticinherited |
Definition at line 128 of file Singleton.h.
Referenced by un2::CalcDX(), AugerUnitParserTest::setUp(), testErrorLogger::setUp(), ExpressionEvaluatorTest::setUp(), testErrorLogger::testG4Logging(), testErrorLogger::testLowLevel(), testErrorLogger::testMacros(), testErrorLogger::testSeverity(), CentralConfigTest::testSeverity(), testErrorLogger::testSeverityString(), testErrorLogger::testStream(), testErrorLogger::testVerbosity(), and utlPython().
|
inline |
string ErrorLogger::GetSeverityName | ( | const ESeverityLevel | severity | ) | const |
Get string name for severity level.
Definition at line 22 of file ErrorLogger.cc.
References eMinSeverity, and HasColor().
Referenced by Log().
|
inline |
|
inline |
Definition at line 102 of file ErrorLogger.h.
References fColorOutput.
Referenced by GetSeverityName(), and WriteErrorMessagesToStream().
void ErrorLogger::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.
Write and format an error message. For verbose message logging, the file name and line number are added to the beginning of the file. The format is such that (X)Emacs can jump directly to the corresponding line in the source file.
Definition at line 89 of file ErrorLogger.cc.
References utl::Verbosity::eDefault, eError, utl::Verbosity::eFileInfo, utl::Verbosity::eFunction, utl::Verbosity::eSeverity, utl::Verbosity::eTerse, fBaseDirLength, fListOfErrorMessages, fMinSeverity, fOStream, fVerbosity, and GetSeverityName().
Referenced by Log(), and testErrorLogger::testLowLevel().
|
inline |
Dump message from ostringstream
instead of of a string
.
Definition at line 60 of file ErrorLogger.h.
References Log().
|
inline |
Dump message from boost::format
instead of of a string
.
Definition at line 71 of file ErrorLogger.h.
|
private |
|
inline |
|
inline |
Set minimal severity for reporting.
Definition at line 95 of file ErrorLogger.h.
References fMinSeverity.
Referenced by fwk::CentralConfig::ReadConfig().
|
inline |
Set the error logging stream This method will be replaced by a more general mechanism for the routing of error messages.
Definition at line 85 of file ErrorLogger.h.
References fOStream, and SetColorOutput().
Referenced by un2::CalcDX(), testErrorLogger::testG4Logging(), testErrorLogger::testLowLevel(), testErrorLogger::testMacros(), testErrorLogger::testStream(), and testErrorLogger::testVerbosity().
|
inline |
Set the verbosity level.
Definition at line 88 of file ErrorLogger.h.
References utl::Verbosity::eDefault, and fVerbosity.
Referenced by AugerUnitParserTest::setUp(), ExpressionEvaluatorTest::setUp(), testErrorLogger::testMacros(), and testErrorLogger::testVerbosity().
void ErrorLogger::WriteErrorMessagesToStream | ( | ) |
Definition at line 130 of file ErrorLogger.cc.
References fListOfErrorMessages, fOStream, HasColor(), and WARNING.
|
friend |
Definition at line 121 of file ErrorLogger.h.
|
private |
Definition at line 115 of file ErrorLogger.h.
Referenced by Log().
|
private |
Definition at line 116 of file ErrorLogger.h.
Referenced by HasColor(), and SetColorOutput().
|
mutableprivate |
Definition at line 119 of file ErrorLogger.h.
Referenced by Log(), and WriteErrorMessagesToStream().
|
private |
Definition at line 117 of file ErrorLogger.h.
Referenced by GetMinSeverity(), Log(), and SetMinSeverity().
|
private |
Current stream for logging messages.
Definition at line 113 of file ErrorLogger.h.
Referenced by Log(), SetStream(), and WriteErrorMessagesToStream().
|
private |
Definition at line 114 of file ErrorLogger.h.
Referenced by GetVerbosity(), Log(), and SetVerbosity().