casacore::LogOrigin Class Reference

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

#include <LogOrigin.h>

List of all members.

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.
 LogOrigin (const String &globalFunctionName, const SourceLocation *where=0)
 Use this constructor if the log message origination is from a global function.
 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.
 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).
 LogOrigin (const LogOrigin &other)
 Make this LogOrigin a copy of other.
LogOriginoperator= (const LogOrigin &other)
 ~LogOrigin ()
const StringtaskName () const
 Get or set the corresponding element of the source location.
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.
String fullName () const
 Returns class\function for a member function, or \function for a global function.
String toString () const
 Turn the entire origin into a String.
String location () const
 Turns the entire origin except for the ObjectID into a String.
Bool isUnset () const
 Return true if the line number and file name are not set.

Private Member Functions

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

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

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

Provide common implementation for copy constructor and assignment operator.

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

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

LogOrigin& casacore::LogOrigin::functionName ( const String funcName  ) 
const String& casacore::LogOrigin::functionName (  )  const
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.

LogOrigin& casacore::LogOrigin::line ( uInt  which  ) 
uInt casacore::LogOrigin::line (  )  const
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.

LogOrigin& casacore::LogOrigin::objectID ( const ObjectID id  ) 
const ObjectID& casacore::LogOrigin::objectID (  )  const
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.

LogOrigin& casacore::LogOrigin::taskName ( const String funcName  ) 
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__);
String casacore::LogOrigin::toString (  )  const

Turn the entire origin into a String.


Member Data Documentation

Definition at line 176 of file LogOrigin.h.

Definition at line 179 of file LogOrigin.h.

Definition at line 175 of file LogOrigin.h.

Definition at line 177 of file LogOrigin.h.

Definition at line 178 of file LogOrigin.h.

Definition at line 180 of file LogOrigin.h.

Definition at line 174 of file LogOrigin.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1