OpenRTM-aist  1.2.1
公開型 | 公開メンバ関数 | 静的公開変数類 | 限定公開メンバ関数 | 全メンバ一覧
coil::log_stream< _CharT, _Traits > クラステンプレート

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

#include <Logger.h>

coil::log_stream< _CharT, _Traits > の継承関係図
Inheritance graph
[凡例]
coil::log_stream< _CharT, _Traits > 連携図
Collaboration graph
[凡例]

公開型

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
 

公開メンバ関数

 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 bool m_lockEnable = true
 ロック有効モード [詳解]
 
static Mutex m_mutex
 排他制御オブジェクト [詳解]
 

限定公開メンバ関数

 ~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

デストラクタ

デストラクタ。

参照先 coil::log_streambuf< _CharT, _Traits >::Stream::operator=().

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

ロックモード解除

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

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

ロックモード設定

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

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で再実装されています。

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指定ログレベル
戻り値
対象ログストリーム
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
void coil::log_stream< _CharT, _Traits >::lock ( )
inline

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

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ログレベル
template<typename _CharT , typename _Traits = std::char_traits<_CharT>>
void coil::log_stream< _CharT, _Traits >::unlock ( )
inline

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

メンバ詳解

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

排他制御オブジェクト


このクラス詳解は次のファイルから抽出されました: