Logger クラス
[詳解]
#include <SystemLogger.h>
|
| Logger (const char *name="") |
| コンストラクタ
|
|
| Logger (LogStreamBuf *streambuf) |
| コンストラクタ
|
|
| ~Logger () override |
| 仮想デストラクタ
|
|
bool | setLevel (const char *level) |
| ログレベルを文字列で設定する
|
|
void | setDateFormat (const char *format) |
| ヘッダに付加する日時フォーマットを指定する。
|
|
void | setClockType (const std::string &clocktype) |
| ログ記録時に使用するクロックを指定する
|
|
void | setName (const char *name) |
| ヘッダの日時の後に付加する文字列を設定する。
|
|
void | write (int level, const std::string &mes) override |
| ログの出力
|
|
void | write (int level, const coil::Properties &prop) |
| ログの出力
|
|
|
std::string | getDate () |
| フォーマットされた現在日時文字列を取得する。 指定された書式で記述した現在日時を取得する。
|
|
|
static int | strToLevel (const char *level) |
| ログレベル設定 与えられた文字列に対応したログレベルを設定する。
|
|
Logger クラス
- ログ出力をシリアライズしかつ分配するバッファクラス
- ログをフォーマットするフォーマットクラス で構成されるロガークラス
- バッファクラス
- マルチスレッド書き込みに対してシリアライズしてバッファリングする
- 複数の出力先にログを出力できる
- 出力先の例としては、ファイル、標準出力、リモートのログサーバ等
- バッファに対してaddStreamで出力先を追加できる
- フォーマットクラス
- ログレベルを指定して出力できる
- 書式は、[時間] [ログレベル] [サフィックス] [メッセージ]
- [時間] [ログレベル] [サフィックス]は自動付加
- [サフィックス] を指定できる関数を用意
- ログレベルは以下のとおり
- RTL_SILENT
- RTL_FATAL
- RTL_ERROR
- RTL_WARN
- RTL_INFO
- RTL_DEBUG
- RTL_TRACE
- RTL_VERBOSE
- RTL_PARANOID
- このフォーマットオブジェクトに対するロック・アンロック機能
◆ anonymous enum
列挙値 |
---|
RTL_SILENT | |
RTL_FATAL | |
RTL_ERROR | |
RTL_WARN | |
RTL_INFO | |
RTL_DEBUG | |
RTL_TRACE | |
RTL_VERBOSE | |
RTL_PARANOID | |
◆ Logger() [1/2]
RTC::Logger::Logger |
( |
const char * |
name = "" | ) |
|
|
explicit |
◆ Logger() [2/2]
◆ ~Logger()
◆ getDate()
std::string RTC::Logger::getDate |
( |
| ) |
|
|
protected |
フォーマットされた現在日時文字列を取得する。 指定された書式で記述した現在日時を取得する。
◆ getLevelColor()
static std::string RTC::Logger::getLevelColor |
( |
int |
level | ) |
|
|
inlinestatic |
ログレベルを対応したエスケープシケーンスに変換
- 引数
-
- 戻り値
- 文字列
◆ getLevelOutputString()
static std::string RTC::Logger::getLevelOutputString |
( |
int |
level | ) |
|
|
inlinestatic |
ログレベルを対応した出力用の文字列に変換
- 引数
-
- 戻り値
- 文字列
◆ getLevelString()
static std::string RTC::Logger::getLevelString |
( |
int |
level | ) |
|
|
inlinestatic |
ログレベルを数値から文字列に変換
- 引数
-
- 戻り値
- 文字列
◆ setClockType()
void RTC::Logger::setClockType |
( |
const std::string & |
clocktype | ) |
|
ログ記録時に使用するクロックを指定する
ログ記録時に時刻を取得するためのクロックの種類を指定することができる。
- system: システムクロック。デフォルト
- logical: 論理時間クロック。
- adjusted: 調整済みクロック。
論理時間クロックについては
coil::ClockManager::instance().getClock("logical").settime()
で時刻を設定する必要がある。
- 引数
-
◆ setDateFormat()
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
- 引数
-
◆ setLevel()
bool RTC::Logger::setLevel |
( |
const char * |
level | ) |
|
◆ setName()
void RTC::Logger::setName |
( |
const char * |
name | ) |
|
ヘッダの日時の後に付加する文字列を設定する。
ヘッダの日時の後に付加する接頭語文字列を設定する。
- 引数
-
◆ strToLevel()
static int RTC::Logger::strToLevel |
( |
const char * |
level | ) |
|
|
staticprotected |
ログレベル設定 与えられた文字列に対応したログレベルを設定する。
◆ write() [1/2]
void RTC::Logger::write |
( |
int |
level, |
|
|
const coil::Properties & |
prop |
|
) |
| |
ログの出力
指定したプロパティを文字列に変換してログに出力する
- 引数
-
◆ write() [2/2]
void RTC::Logger::write |
( |
int |
level, |
|
|
const std::string & |
mes |
|
) |
| |
|
override |
ログの出力
指定したメッセージのログを出力する
- 引数
-
このクラス詳解は次のファイルから抽出されました: