casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
casacore::LogOrigin Class Reference

LogOrigin: The source code location of the originator of a LogMessage. More...

#include <LogOrigin.h>

Public Member Functions

 LogOrigin ()
 The default constructor sets a null class name, function name, object id, source file name, and sets the line number to zero. More...
 
 LogOrigin (const String &globalFunctionName, const SourceLocation *where=0)
 Use this constructor if the log message origination is from a global function. More...
 
 LogOrigin (const String &className, const String &memberFuncName, const SourceLocation *where=0)
 Use this constructor if the log message origination is from a class member function. More...
 
 LogOrigin (const String &className, const String &memberFuncName, const ObjectID &id, const SourceLocation *where=0)
 Use this constructor if the log message origination is from a distributed object (don't worry if you don't know what this means). More...
 
 LogOrigin (const LogOrigin &other)
 Make this LogOrigin a copy of other. More...
 
LogOriginoperator= (const LogOrigin &other)
 
 ~LogOrigin ()
 
const StringtaskName () const
 Get or set the corresponding element of the source location. More...
 
LogOrigintaskName (const String &funcName)
 
const StringfunctionName () const
 
LogOriginfunctionName (const String &funcName)
 
const StringclassName () const
 
LogOriginclassName (const String &className)
 
const ObjectIDobjectID () const
 
LogOriginobjectID (const ObjectID &id)
 
uInt line () const
 
LogOriginline (uInt which)
 
const StringfileName () const
 
LogOriginfileName (const String &fileName)
 
LogOriginsourceLocation (const SourceLocation *where)
 Set the file name and line number at the same time. More...
 
String fullName () const
 Returns class::function for a member function, or ::function for a global function. More...
 
String toString () const
 Turn the entire origin into a String. More...
 
String location () const
 Turns the entire origin except for the ObjectID into a String. More...
 
Bool isUnset () const
 Return true if the line number and file name are not set. More...
 

Private Member Functions

String getNode ()
 Return a String with the MPI rank. More...
 
void copy_other (const LogOrigin &other)
 Provide common implementation for copy constructor and assignment operator. More...
 

Private Attributes

String task_p
 
String function_p
 
String class_p
 
ObjectID id_p
 
uInt line_p
 
String file_p
 
String node_p
 

Detailed Description

LogOrigin: The source code location of the originator of a LogMessage.

Intended use:

Public interface

Review Status

Reviewed By:
wbrouw
Date Reviewed:
1996/08/21
Test programs:
tLogging
Demo programs:
dLogging

Prerequisite

Etymology

Log[message] Origin[ation point].

Synopsis

The LogOriging class is used to record the location at which a LogMessage originates. It consists of:

Example

See the examples for LogMessage and in (see (file="Logging.h"))Logging.h.

Motivation

It can be very useful for debugging if you know where a message is coming from.

To Do

Definition at line 94 of file LogOrigin.h.

Constructor & Destructor Documentation

casacore::LogOrigin::LogOrigin ( )

The default constructor sets a null class name, function name, object id, source file name, and sets the line number to zero.

casacore::LogOrigin::LogOrigin ( const String globalFunctionName,
const SourceLocation *  where = 0 
)

Use this constructor if the log message origination is from a global function.

Normally where is provided using the WHERE macro.

casacore::LogOrigin::LogOrigin ( const String className,
const String memberFuncName,
const SourceLocation *  where = 0 
)

Use this constructor if the log message origination is from a class member function.

Normally where is provided using the WHERE macro.

casacore::LogOrigin::LogOrigin ( const String className,
const String memberFuncName,
const ObjectID id,
const SourceLocation *  where = 0 
)

Use this constructor if the log message origination is from a distributed object (don't worry if you don't know what this means).

Normally where is provided using the WHERE macro.

casacore::LogOrigin::LogOrigin ( const LogOrigin other)

Make this LogOrigin a copy of other.

casacore::LogOrigin::~LogOrigin ( )

Member Function Documentation

const String& casacore::LogOrigin::className ( ) const
LogOrigin& casacore::LogOrigin::className ( const String className)
void casacore::LogOrigin::copy_other ( const LogOrigin other)
private

Provide common implementation for copy constructor and assignment operator.

const String& casacore::LogOrigin::fileName ( ) const
LogOrigin& casacore::LogOrigin::fileName ( const String fileName)
String casacore::LogOrigin::fullName ( ) const

Returns class::function for a member function, or ::function for a global function.

const String& casacore::LogOrigin::functionName ( ) const
LogOrigin& casacore::LogOrigin::functionName ( const String funcName)
String casacore::LogOrigin::getNode ( )
private

Return a String with the MPI rank.

Bool casacore::LogOrigin::isUnset ( ) const

Return true if the line number and file name are not set.

uInt casacore::LogOrigin::line ( ) const
LogOrigin& casacore::LogOrigin::line ( uInt  which)
String casacore::LogOrigin::location ( ) const

Turns the entire origin except for the ObjectID into a String.

The ObjectID can be turned into a string vie ObjectID::toString.

const ObjectID& casacore::LogOrigin::objectID ( ) const
LogOrigin& casacore::LogOrigin::objectID ( const ObjectID id)
LogOrigin& casacore::LogOrigin::operator= ( const LogOrigin other)
LogOrigin& casacore::LogOrigin::sourceLocation ( const SourceLocation *  where)

Set the file name and line number at the same time.

Normally where will be defined with the WHERE macro.

const String& casacore::LogOrigin::taskName ( ) const

Get or set the corresponding element of the source location.

Note that the "set" functions can be strung together:

LogOrigin where;
..\.
where.function("anotherFunc").line(__LINE__);
LogOrigin& casacore::LogOrigin::taskName ( const String funcName)
String casacore::LogOrigin::toString ( ) const

Turn the entire origin into a String.

Member Data Documentation

String casacore::LogOrigin::class_p
private

Definition at line 176 of file LogOrigin.h.

String casacore::LogOrigin::file_p
private

Definition at line 179 of file LogOrigin.h.

String casacore::LogOrigin::function_p
private

Definition at line 175 of file LogOrigin.h.

ObjectID casacore::LogOrigin::id_p
private

Definition at line 177 of file LogOrigin.h.

uInt casacore::LogOrigin::line_p
private

Definition at line 178 of file LogOrigin.h.

String casacore::LogOrigin::node_p
private

Definition at line 180 of file LogOrigin.h.

String casacore::LogOrigin::task_p
private

Definition at line 174 of file LogOrigin.h.


The documentation for this class was generated from the following file: