OpenRTM-aist  1.2.1
公開型 | 公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧
RTC::Logger クラス

Logger クラス [詳解]

#include <SystemLogger.h>

RTC::Logger の継承関係図
Inheritance graph
[凡例]
RTC::Logger 連携図
Collaboration graph
[凡例]

公開型

enum  {
  RTL_SILENT, RTL_FATAL, RTL_ERROR, RTL_WARN,
  RTL_INFO, RTL_DEBUG, RTL_TRACE, RTL_VERBOSE,
  RTL_PARANOID
}
 
- 基底クラス 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
 

公開メンバ関数

 Logger (const char *name="")
 コンストラクタ [詳解]
 
 Logger (LogStreamBuf *streambuf)
 コンストラクタ [詳解]
 
virtual ~Logger (void)
 仮想デストラクタ [詳解]
 
bool setLevel (const char *level)
 ログレベルを文字列で設定する [詳解]
 
void setDateFormat (const char *format)
 ヘッダに付加する日時フォーマットを指定する。 [詳解]
 
void setClockType (std::string clocktype)
 ログ記録時に使用するクロックを指定する [詳解]
 
void setName (const char *name)
 ヘッダの日時の後に付加する文字列を設定する。 [詳解]
 
void enableEscapeSequence ()
 エスケープシーケンスを有効にする [詳解]
 
void disableEscapeSequence ()
 エスケープシーケンスを無効にする [詳解]
 
- 基底クラス coil::log_stream< _CharT, _Traits > に属する継承公開メンバ関数
 log_stream (streambuf_type *sb, int levelmin, int levelmax, 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 ()
 ログロック解放 ロックモードが設定されている場合に、ログのロックを解放する。 [詳解]
 

限定公開メンバ関数

virtual void header (int level)
 メッセージのプリフィックス追加関数 [詳解]
 
std::string getDate (void)
 フォーマットされた現在日時文字列を取得する。 指定された書式で記述した現在日時を取得する。 [詳解]
 
int strToLevel (const char *level)
 ログレベル設定 与えられた文字列に対応したログレベルを設定する。 [詳解]
 
- 基底クラス coil::log_stream< _CharT, _Traits > に属する継承限定公開メンバ関数
 ~log_stream ()
 デストラクタ [詳解]
 
 log_stream ()
 デフォルトコンストラクタ [詳解]
 
 log_stream (const log_stream &x)
 コピーコンストラクタ [詳解]
 
log_streamoperator= (const log_stream &x)
 代入演算子 [詳解]
 

その他の継承メンバ

- 基底クラス coil::log_stream< _CharT, _Traits > に属する継承静的公開変数類
static bool m_lockEnable = true
 ロック有効モード [詳解]
 
static Mutex m_mutex
 排他制御オブジェクト [詳解]
 

詳解

Logger クラス

列挙型メンバ詳解

anonymous enum
列挙値
RTL_SILENT 
RTL_FATAL 
RTL_ERROR 
RTL_WARN 
RTL_INFO 
RTL_DEBUG 
RTL_TRACE 
RTL_VERBOSE 
RTL_PARANOID 

構築子と解体子

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

コンストラクタ

コンストラクタ

引数
nameヘッダの日時の後に付加する文字列
RTC::Logger::Logger ( LogStreamBuf streambuf)

コンストラクタ

コンストラクタ

引数
streambufLogStream オブジェクト
virtual RTC::Logger::~Logger ( void  )
virtual

仮想デストラクタ

関数詳解

void RTC::Logger::disableEscapeSequence ( )

エスケープシーケンスを無効にする

void RTC::Logger::enableEscapeSequence ( )

エスケープシーケンスを有効にする

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

フォーマットされた現在日時文字列を取得する。 指定された書式で記述した現在日時を取得する。

戻り値
書式指定現在日時
virtual void RTC::Logger::header ( int  level)
protectedvirtual

メッセージのプリフィックス追加関数

サブクラスにおいてこの関数をオーバーライドし、 ログメッセージに適当なプリフィックスるを追加する。

coil::log_stream< _CharT, _Traits >を再実装しています。

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

ログ記録時に使用するクロックを指定する

ログ記録時に時刻を取得するためのクロックの種類を指定することができる。

  • system: システムクロック。デフォルト
  • logical: 論理時間クロック。
  • adjusted: 調整済みクロック。

論理時間クロックについては

coil::ClockManager::instance().getClock("logical").settime()

で時刻を設定する必要がある。

引数
clocktype上述のクロックタイプ
void RTC::Logger::setDateFormat ( const char *  format)

ヘッダに付加する日時フォーマットを指定する。

フォーマット指定文字列は以下のとおり。

%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 
引数
fmt日時フォーマット
bool RTC::Logger::setLevel ( const char *  level)

ログレベルを文字列で設定する

引数
levelログレベル
void RTC::Logger::setName ( const char *  name)

ヘッダの日時の後に付加する文字列を設定する。

ヘッダの日時の後に付加する接頭語文字列を設定する。

引数
suffix接頭語文字列
int RTC::Logger::strToLevel ( const char *  level)
protected

ログレベル設定 与えられた文字列に対応したログレベルを設定する。

引数
lvログレベル文字列
戻り値
設定したログレベル

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