Handle output messages in a simple, consistent stream-based manner. More...
Public Types | |
enum | errorSeverity : int { INFO = 1, WARNING, SERIOUS, FATAL, USE_STDERR = 0x80 } |
Message type, error severity flags. More... | |
Public Member Functions | |
messageStream (const char *title, errorSeverity severity, int maxErrors=0, bool use_stderr=false) | |
Construct from components. More... | |
messageStream (const std::string &title, errorSeverity severity, int maxErrors=0, bool use_stderr=false) | |
Construct from components. More... | |
messageStream (const dictionary &dict) | |
Construct from dictionary as Fatal, extracting 'title'. More... | |
const string & | title () const noexcept |
The title of this error type. More... | |
int | maxErrors () const noexcept |
The maximum number of errors before program termination. More... | |
int | maxErrors (int nErrors) noexcept |
Set the maximum number of errors before program termination. More... | |
OSstream & | stream (OSstream *alternative=nullptr) |
Return OSstream for output operations. More... | |
OSstream & | masterStream (const label communicator) |
Return OSstream for output operations on the master process only, Snull on other processes. More... | |
std::ostream & | stdStream () |
Return std::ostream for output operations. More... | |
OSstream & | deprecated (const int afterVersion, const char *functionName=nullptr, const char *sourceFileName=nullptr, const int sourceFileLineNumber=0) |
Report deprecation (after specified API version) with 'From function-name, source file, line number'. More... | |
operator OSstream & () | |
Implicit cast to OSstream for << operations. More... | |
OSstream & | operator() () |
Explicitly convert to OSstream for << operations. More... | |
OSstream & | operator() (const std::string &functionName) |
Report 'From function-name'. More... | |
OSstream & | operator() (const char *functionName, const char *sourceFileName, const int sourceFileLineNumber=0) |
Report 'From function-name, source file, line number'. More... | |
OSstream & | operator() (const std::string &functionName, const char *sourceFileName, const int sourceFileLineNumber=0) |
Report 'From function-name, source file, line number'. More... | |
OSstream & | operator() (const char *functionName, const char *sourceFileName, const int sourceFileLineNumber, const std::string &ioFileName, const label ioStartLineNumber=-1, const label ioEndLineNumber=-1) |
Report 'From function-name, source file, line number' as well as io-file name and location. More... | |
OSstream & | operator() (const char *functionName, const char *sourceFileName, const int sourceFileLineNumber, const IOstream &) |
Report 'From function-name, source file, line number' as well as io-file name and location. More... | |
OSstream & | operator() (const char *functionName, const char *sourceFileName, const int sourceFileLineNumber, const dictionary &) |
Report 'From function-name, source file, line number' as well as io-file name and location. More... | |
Static Public Attributes | |
static int | level |
The output level (verbosity) of messages. More... | |
static int | redirect |
The output redirection of messages. More... | |
Protected Attributes | |
string | title_ |
The title of this error type. More... | |
int | severity_ |
The message type / error severity, possibly with USE_STDERR mask. More... | |
int | maxErrors_ |
The maximum number of errors before program termination. More... | |
int | errorCount_ |
The current number of errors counted. More... | |
Handle output messages in a simple, consistent stream-based manner.
The messageStream class is globally instantiated with a title string and a severity (which controls the program termination), optionally with a max number of errors before termination.
Errors, messages and other data are sent to the messageStream class in the standard manner.
For parallel applications, the output for 'standard' messages (Info, Warnings) is effectively suppressed on all sub-processes, which results in a single output message instead of a flood of output messages from each process. The error type of messages do, however, retain output on all processes, which ensures that parallel termination occurs correctly and the source of the problem is properly traceable to the originating processor.
Definition at line 70 of file messageStream.H.
enum errorSeverity : int |
Message type, error severity flags.
Definition at line 77 of file messageStream.H.
messageStream | ( | const char * | title, |
errorSeverity | severity, | ||
int | maxErrors = 0 , |
||
bool | use_stderr = false |
||
) |
Construct from components.
Definition at line 44 of file messageStream.C.
|
inline |
Construct from components.
Definition at line 159 of file messageStream.H.
|
explicit |
Construct from dictionary as Fatal, extracting 'title'.
Definition at line 67 of file messageStream.C.
|
inlinenoexcept |
The title of this error type.
Definition at line 181 of file messageStream.H.
References messageStream::title_.
|
inlinenoexcept |
The maximum number of errors before program termination.
Definition at line 189 of file messageStream.H.
References messageStream::maxErrors_.
|
inlinenoexcept |
Set the maximum number of errors before program termination.
Definition at line 199 of file messageStream.H.
References messageStream::maxErrors_.
Foam::OSstream & stream | ( | OSstream * | alternative = nullptr | ) |
Return OSstream for output operations.
alternative | An alternative output stream (serial-only) |
Definition at line 79 of file messageStream.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, Foam::infoDetailLevel, UPstream::master(), UPstream::parRun(), Foam::Perr, Foam::Pout, Foam::Serr, Foam::Snull, and Foam::Sout.
Referenced by objectRegistry::checkCacheTemporaryObjects(), messageStream::operator OSstream &(), messageStream::operator()(), and GAMGAgglomeration::printLevels().
Foam::OSstream & masterStream | ( | const label | communicator | ) |
Return OSstream for output operations on the master process only, Snull on other processes.
Definition at line 149 of file messageStream.C.
References Foam::endl(), UPstream::master(), Foam::Perr, error::printStack(), Foam::Snull, UPstream::warnComm, and UPstream::worldComm.
Referenced by viewFactor::calculate(), fvMatrix< Type >::fvSolver::solve(), smoothSolver::solve(), GAMGSolver::solve(), fvMatrix< Type >::solveCoupled(), fvMatrix< Type >::solver(), fvMatrix< Type >::solveSegregated(), and fvMatrix< Type >::solveSegregatedOrCoupled().
std::ostream & stdStream | ( | ) |
Return std::ostream for output operations.
Definition at line 166 of file messageStream.C.
Referenced by argList::argList(), argList::parse(), Foam::printTimingDetail(), and argList::printUsage().
Foam::OSstream & deprecated | ( | const int | afterVersion, |
const char * | functionName = nullptr , |
||
const char * | sourceFileName = nullptr , |
||
const int | sourceFileLineNumber = 0 |
||
) |
Report deprecation (after specified API version) with 'From function-name, source file, line number'.
Definition at line 192 of file messageStream.C.
References Foam::foamVersion::api, Foam::nl, and os().
|
inline |
Implicit cast to OSstream for << operations.
Definition at line 247 of file messageStream.H.
References messageStream::stream().
|
inline |
Explicitly convert to OSstream for << operations.
Definition at line 255 of file messageStream.H.
References messageStream::stream().
Foam::OSstream & operator() | ( | const std::string & | functionName | ) |
Report 'From function-name'.
Definition at line 175 of file messageStream.C.
References Foam::nl, and os().
Foam::OSstream & operator() | ( | const char * | functionName, |
const char * | sourceFileName, | ||
const int | sourceFileLineNumber = 0 |
||
) |
Report 'From function-name, source file, line number'.
Definition at line 248 of file messageStream.C.
References Foam::nl, and os().
Foam::OSstream & operator() | ( | const std::string & | functionName, |
const char * | sourceFileName, | ||
const int | sourceFileLineNumber = 0 |
||
) |
Report 'From function-name, source file, line number'.
Definition at line 267 of file messageStream.C.
Foam::OSstream & operator() | ( | const char * | functionName, |
const char * | sourceFileName, | ||
const int | sourceFileLineNumber, | ||
const std::string & | ioFileName, | ||
const label | ioStartLineNumber = -1 , |
||
const label | ioEndLineNumber = -1 |
||
) |
Report 'From function-name, source file, line number' as well as io-file name and location.
Definition at line 283 of file messageStream.C.
References Foam::endl(), and os().
Foam::OSstream & operator() | ( | const char * | functionName, |
const char * | sourceFileName, | ||
const int | sourceFileLineNumber, | ||
const IOstream & | ioStream | ||
) |
Report 'From function-name, source file, line number' as well as io-file name and location.
ioStream | Provides name and lineNumber |
Definition at line 318 of file messageStream.C.
Foam::OSstream & operator() | ( | const char * | functionName, |
const char * | sourceFileName, | ||
const int | sourceFileLineNumber, | ||
const dictionary & | dict | ||
) |
Report 'From function-name, source file, line number' as well as io-file name and location.
dict | Provides name, startLine, endLine |
Definition at line 338 of file messageStream.C.
References dict, dictionary::endLineNumber(), dictionary::relativeName(), and dictionary::startLineNumber().
|
protected |
The title of this error type.
Definition at line 99 of file messageStream.H.
Referenced by messageStream::title().
|
protected |
The message type / error severity, possibly with USE_STDERR mask.
Definition at line 104 of file messageStream.H.
|
protected |
The maximum number of errors before program termination.
Definition at line 109 of file messageStream.H.
Referenced by messageStream::maxErrors().
|
protected |
The current number of errors counted.
Definition at line 114 of file messageStream.H.
|
static |
The output level (verbosity) of messages.
Definition at line 131 of file messageStream.H.
Referenced by IOobject::setBad(), error::write(), and IOerror::write().
|
static |
The output redirection of messages.
Definition at line 139 of file messageStream.H.