OpenRTM-aist  1.2.1
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
coil::log_stream< _CharT, _Traits > Class Template Reference

log_stream template class More...

#include <Logger.h>

Inheritance diagram for coil::log_stream< _CharT, _Traits >:
Inheritance graph
[legend]
Collaboration diagram for coil::log_stream< _CharT, _Traits >:
Collaboration graph
[legend]

Public Types

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

 log_stream (streambuf_type *sb, int levelmin, int levelmax, int level)
 Constructor. More...
 
virtual void header (int level)
 Message header appender function. 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...
 

Static Public Attributes

static bool m_lockEnable = true
 Lock enable mode. More...
 
static Mutex m_mutex
 Mutual exclusion object. More...
 

Protected Member Functions

 ~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...
 

Detailed Description

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
class coil::log_stream< _CharT, _Traits >

log_stream template class

Member Typedef Documentation

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
typedef _CharT coil::log_stream< _CharT, _Traits >::char_type
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
typedef coil::Guard<Mutex> coil::log_stream< _CharT, _Traits >::Guard
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
typedef coil::Mutex coil::log_stream< _CharT, _Traits >::Mutex
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
typedef std::basic_ostream<char_type, traits_type> coil::log_stream< _CharT, _Traits >::ostream_type
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
typedef std::basic_streambuf<char_type, traits_type> coil::log_stream< _CharT, _Traits >::streambuf_type
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
typedef _Traits coil::log_stream< _CharT, _Traits >::traits_type

Constructor & Destructor Documentation

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
coil::log_stream< _CharT, _Traits >::log_stream ( streambuf_type sb,
int  levelmin,
int  levelmax,
int  level 
)
inline

Constructor.

Constructor

Parameters
streambufbasic_streambuf type object
levelminminimum value for log level
levelmaxmaximum value for log level
leveldefault log level
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
coil::log_stream< _CharT, _Traits >::~log_stream ( )
inlineprotected
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
coil::log_stream< _CharT, _Traits >::log_stream ( )
protected

Default constructor.

Default constructor

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
coil::log_stream< _CharT, _Traits >::log_stream ( const log_stream< _CharT, _Traits > &  x)
protected

Copy Constructor.

Copy Constructor

Parameters
xlog_stream object

Member Function Documentation

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
void coil::log_stream< _CharT, _Traits >::disableLock ( )
inline

Disable the lock mode.

Disable the lock mode.

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
void coil::log_stream< _CharT, _Traits >::enableLock ( )
inline

Enable the lock mode.

Enable the lock mode.

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
int coil::log_stream< _CharT, _Traits >::getLevel ( ) const
inline

Get the log level.

Get the log level.

Returns
Log level
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
virtual void coil::log_stream< _CharT, _Traits >::header ( int  level)
inlinevirtual

Message header appender function.

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

Reimplemented in RTC::Logger.

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
bool coil::log_stream< _CharT, _Traits >::isValid ( int  level) const
inline

Log level effective check.

Check it whether an appointed log level is an effective range and return effective or invalidity.

Parameters
levelLog level
Returns
true: Valid, false: Invalid
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
ostream_type& coil::log_stream< _CharT, _Traits >::level ( int  level)
inline

Acquire log stream.

Investigate the specified log level and get its log stream. If the specified log level is under the set log level, this class will be returned. If the specified log level exceeds the set log level, a dummy log class will be returned.

Parameters
levelThe specified log level
Returns
Target log stream
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
void coil::log_stream< _CharT, _Traits >::lock ( )
inline

Acquire log lock Acquire log lock when the lock mode is set.

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
log_stream& coil::log_stream< _CharT, _Traits >::operator= ( const log_stream< _CharT, _Traits > &  x)
protected

Assignment operator.

Copy a log_stream object.

Parameters
xlog_stream object.
Returns
Assignment result.
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
bool coil::log_stream< _CharT, _Traits >::setLevel ( int  level)
inline

Set the log level.

Set the log level.

Parameters
levelLog level
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
void coil::log_stream< _CharT, _Traits >::unlock ( )
inline

Release the log lock Release the log lock when the lock mode is set.

Member Data Documentation

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
bool coil::log_stream< _CharT, _Traits >::m_lockEnable = true
static

Lock enable mode.

template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
coil::Mutex coil::log_stream< _CharT, _Traits >::m_mutex
static

Mutual exclusion object.


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