OpenRTM  1.0.0
Public 型 | Public メソッド | Static Public 変数 | Protected メソッド | すべてのメンバ一覧
クラス テンプレート coil::log_stream< _CharT, _Traits >

log_stream テンプレートクラス [詳細]

#include <Logger.h>

coil::log_stream< _CharT, _Traits >に対する継承グラフ
RTC::Logger

Public 型

typedef _CharT char_type
typedef _Traits traits_type
typedef std::basic_ostream
< char_type, traits_type
ostream_type
typedef std::basic_streambuf
< char_type, traits_type
streambuf_type
typedef coil::Mutex Mutex
typedef coil::Guard< MutexGuard

Public メソッド

 log_stream (streambuf_type *sb, int levelmin, int levelmax, int level)
 コンストラクタ
virtual void header (int level)
 メッセージのヘッダ追加関数
bool setLevel (int level)
 ログレベル設定
int getLevel () const
 ログレベル取得
void enableLock ()
 ロックモード設定
void disableLock ()
 ロックモード解除
ostream_typelevel (int level)
 ログストリームの取得
bool isValid (int level) const
 ログレベル有効チェック
void lock ()
 ログロック取得 ロックモードが設定されている場合、ログのロックを取得する。
void unlock ()
 ログロック解放 ロックモードが設定されている場合に、ログのロックを解放する。

Static Public 変数

static bool m_lockEnable = true
 ロック有効モード
static Mutex m_mutex
 排他制御オブジェクト

Protected メソッド

 ~log_stream ()
 デストラクタ
 log_stream ()
 log_stream (const log_stream &x)
 コピーコンストラクタ
log_streamoperator= (const log_stream &x)
 代入演算子

説明

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

log_stream テンプレートクラス

型定義

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

コンストラクタとデストラクタ

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

コンストラクタ

コンストラクタ

引数
streambufbasic_streambuf 型オブジェクト
levelminログレベルの最小値
levelmaxログレベルの最大値
デフォルトのログレベル
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

デフォルトコンストラクタ

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

コピーコンストラクタ

コピーコンストラクタ

引数
xlog_stream オブジェクト

関数

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

ロックモード解除

ロックモードを無効にする。

参照先 coil::log_stream< _CharT, _Traits >::m_lockEnable.

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

ロックモード設定

ロックモードを有効にする。

参照先 coil::log_stream< _CharT, _Traits >::m_lockEnable.

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

ログレベル取得

ログレベルを取得する。

戻り値
ログレベル
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
virtual void coil::log_stream< _CharT, _Traits >::header ( int  level)
inlinevirtual

メッセージのヘッダ追加関数

サブクラスにおいてこの関数をオーバーライドし、 ログメッセージに適当な時刻などのヘッダを追加する。

RTC::Loggerで再定義されています。

参照元 coil::log_stream< _CharT, _Traits >::level().

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

ログレベル有効チェック

指定されたログレベルが有効範囲かチェックし、有効・無効を返す。

引数
levelログレベル
戻り値
true: 有効, false: 無効
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
ostream_type& coil::log_stream< _CharT, _Traits >::level ( int  level)
inline

ログストリームの取得

指定されたログレベルを判断し、ログストリームを取得する。 指定されたログレベルが設定されているログレベル以下の場合には、本クラスを 返す。 指定されたログレベルが設定されているログレベルを超えている場合には、 ダミーログクラスを返す。

引数
level指定ログレベル
戻り値
対象ログストリーム

参照先 coil::log_stream< _CharT, _Traits >::header().

参照元 coil::log_stream< _CharT, _Traits >::setLevel().

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

ログロック取得 ロックモードが設定されている場合、ログのロックを取得する。

参照先 coil::Mutex::lock(), coil::log_stream< _CharT, _Traits >::m_lockEnable, と coil::log_stream< _CharT, _Traits >::m_mutex.

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

代入演算子

log_streamオブジェクトをコピーする。

引数
xlog_streamオブジェクト
戻り値
代入結果
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
bool coil::log_stream< _CharT, _Traits >::setLevel ( int  level)
inline

ログレベル設定

ログレベルを設定する。

引数
levelログレベル

参照先 coil::log_stream< _CharT, _Traits >::level().

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

ログロック解放 ロックモードが設定されている場合に、ログのロックを解放する。

参照先 coil::log_stream< _CharT, _Traits >::m_lockEnable, coil::log_stream< _CharT, _Traits >::m_mutex, と coil::Mutex::unlock().

変数

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