OpenRTM-aist  1.2.1
Public Types | Public Member Functions | Protected Member Functions | List of all members
RTC::Logger Class Reference

Logger class. More...

#include <SystemLogger.h>

Inheritance diagram for RTC::Logger:
Inheritance graph
[legend]
Collaboration diagram for RTC::Logger:
Collaboration graph
[legend]

Public Types

enum  {
  RTL_SILENT, RTL_FATAL, RTL_ERROR, RTL_WARN,
  RTL_INFO, RTL_DEBUG, RTL_TRACE, RTL_VERBOSE,
  RTL_PARANOID
}
 
- Public Types inherited from coil::log_stream< _CharT, _Traits >
typedef _CharT char_type
 
typedef _Traits traits_type
 
typedef std::basic_ostream< char_type, traits_typeostream_type
 
typedef std::basic_streambuf< char_type, traits_typestreambuf_type
 
typedef coil::Mutex Mutex
 
typedef coil::Guard< MutexGuard
 

Public Member Functions

 Logger (const char *name="")
 Constructor. More...
 
 Logger (LogStreamBuf *streambuf)
 Constructor. More...
 
virtual ~Logger (void)
 Virtual destructor. More...
 
bool setLevel (const char *level)
 Set log level by string. More...
 
void setDateFormat (const char *format)
 Set date/time format for adding the header. More...
 
void setClockType (std::string clocktype)
 Specifying clock type to be used for logging. More...
 
void setName (const char *name)
 Set suffix of date/time string of header. More...
 
void enableEscapeSequence ()
 
void disableEscapeSequence ()
 
- Public Member Functions inherited from coil::log_stream< _CharT, _Traits >
 log_stream (streambuf_type *sb, int levelmin, int levelmax, int level)
 Constructor. More...
 
bool setLevel (int level)
 Set the log level. More...
 
int getLevel () const
 Get the log level. More...
 
void enableLock ()
 Enable the lock mode. More...
 
void disableLock ()
 Disable the lock mode. More...
 
ostream_typelevel (int level)
 Acquire log stream. More...
 
bool isValid (int level) const
 Log level effective check. More...
 
void lock ()
 Acquire log lock Acquire log lock when the lock mode is set. More...
 
void unlock ()
 Release the log lock Release the log lock when the lock mode is set. More...
 

Protected Member Functions

virtual void header (int level)
 Message prefix appender function. More...
 
std::string getDate (void)
 Get the current formatted date/time string Get the current datetime described by specified format. More...
 
int strToLevel (const char *level)
 Set the log level Set the log level corresponding to the given string. More...
 
- Protected Member Functions inherited from coil::log_stream< _CharT, _Traits >
 ~log_stream ()
 Destructor. More...
 
 log_stream ()
 Default constructor. More...
 
 log_stream (const log_stream &x)
 Copy Constructor. More...
 
log_streamoperator= (const log_stream &x)
 Assignment operator. More...
 

Additional Inherited Members

- Static Public Attributes inherited from coil::log_stream< _CharT, _Traits >
static bool m_lockEnable = true
 Lock enable mode. More...
 
static Mutex m_mutex
 Mutual exclusion object. More...
 

Detailed Description

Logger class.

This class is composed of the buffer class and the format class.

Member Enumeration Documentation

anonymous enum
Enumerator
RTL_SILENT 
RTL_FATAL 
RTL_ERROR 
RTL_WARN 
RTL_INFO 
RTL_DEBUG 
RTL_TRACE 
RTL_VERBOSE 
RTL_PARANOID 

Constructor & Destructor Documentation

RTC::Logger::Logger ( const char *  name = "")

Constructor.

Constructor

Parameters
namesuffix of date/time string of header.
RTC::Logger::Logger ( LogStreamBuf streambuf)

Constructor.

Constructor

Parameters
streambufLogStream object
virtual RTC::Logger::~Logger ( void  )
virtual

Virtual destructor.

Member Function Documentation

void RTC::Logger::disableEscapeSequence ( )

void RTC::Logger::enableEscapeSequence ( )

std::string RTC::Logger::getDate ( void  )
protected

Get the current formatted date/time string Get the current datetime described by specified format.

Returns
Format specification current datetime
virtual void RTC::Logger::header ( int  level)
protectedvirtual

Message prefix appender function.

Subclasses of this class should override this operation, and this function should be defined to append some prefix to the log messages.

Reimplemented from coil::log_stream< _CharT, _Traits >.

void RTC::Logger::setClockType ( std::string  clocktype)

Specifying clock type to be used for logging.

This function sets a clock type getting time when it is used for logging. Available clock types are,

  • system: System clock. Default option.
  • logical: Logical time clock.
  • adjusted: Adjusted clock.

To use logical time clock, call and set time by the following function in somewhere.

coil::ClockManager::instance().getClock("logical").settime()
Parameters
clocktypeA clock type above mentioned
void RTC::Logger::setDateFormat ( const char *  format)

Set date/time format for adding the header.

The format specification string is as follows:

%a abbreviated weekday name 
%A full weekday name 
%b abbreviated month name 
%B full month name 
%c the standard date and time string 
%d day of the month, as a number (1-31) 
%H hour, 24 hour format (0-23) 
%I hour, 12 hour format (1-12) 
%j day of the year, as a number (1-366) 
%m month as a number (1-12).
   Note: some versions of Microsoft Visual C++ may use values that range
   from 0-11. 
%M minute as a number (0-59) 
%p locale's equivalent of AM or PM 
%Q millisecond as a number (0-999) from ver 1.1
%q microsecond as a number (0-999) from ver 1.1
%S second as a number (0-59) 
%U week of the year, sunday as the first day 
%w weekday as a decimal (0-6, sunday=0) 
%W week of the year, monday as the first day 
%x standard date string 
%X standard time string 
%y year in decimal, without the century (0-99) 
%Y year in decimal, with the century 
%Z time zone name 
%% a percent sign 
Parameters
fmtDatetime format
bool RTC::Logger::setLevel ( const char *  level)

Set log level by string.

Parameters
levellog level
void RTC::Logger::setName ( const char *  name)

Set suffix of date/time string of header.

Set the suffix string added after the datatime of the header.

Parameters
suffixSuffix string
int RTC::Logger::strToLevel ( const char *  level)
protected

Set the log level Set the log level corresponding to the given string.

Parameters
lvLog level string
Returns
The set log level

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