cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
|
ログ出力系 共通関数 I/Fヘッダファイル [詳解]
データ構造 | |
struct | tag_CmnLogMessage |
struct | tag_CmnLogEx |
マクロ定義 | |
#define | CMNLOG_TRACE_START() clock_t cmnlogtrace_stclock=clock();CmnLog_PutCmnClibLog(CMN_LOG_LEVEL_TRACE, "START %s", __func__) |
#define | CMNLOG_TRACE_END() CmnLog_PutCmnClibLog(CMN_LOG_LEVEL_TRACE, "END %s(clocks=%d)", __func__, clock() - cmnlogtrace_stclock) |
#define | CMNLOG_TRACE(msg, ...) CmnLog_PutCmnClibLog(CMN_LOG_LEVEL_TRACE, (msg), __VA_ARGS__) |
#define | CMNLOG_DEBUG(msg, ...) CmnLog_PutCmnClibLog(CMN_LOG_LEVEL_DEBUG, (msg), __VA_ARGS__) |
#define | CMNLOG_INFO(msg, ...) CmnLog_PutCmnClibLog(CMN_LOG_LEVEL_INFO, (msg), __VA_ARGS__) |
#define | CMNLOG_WARN(msg, ...) CmnLog_PutCmnClibLog(CMN_LOG_LEVEL_WARN, (msg), __VA_ARGS__) |
#define | CMNLOG_ERROR(msg, ...) CmnLog_PutCmnClibLog(CMN_LOG_LEVEL_ERROR, (msg), __VA_ARGS__) |
型定義 | |
typedef struct tag_CmnLogMessage | CmnLogMessage |
typedef struct tag_CmnLogEx | CmnLogEx |
列挙型 | |
enum | CMN_LOG_LEVEL { CMN_LOG_LEVEL_NOTHING, CMN_LOG_LEVEL_ERROR, CMN_LOG_LEVEL_WARN, CMN_LOG_LEVEL_INFO, CMN_LOG_LEVEL_DEBUG, CMN_LOG_LEVEL_TRACE, CMN_LOG_LEVEL_MAX = CMN_LOG_LEVEL_TRACE } |
関数 | |
D_EXTERN int | CmnLog_Init (const char *logFile, CMN_LOG_LEVEL level, const char *msgFile) |
標準ログ出力関数初期化処理 [詳解] | |
D_EXTERN void | CmnLog_End () |
標準ログ出力共通関数終了処理 [詳解] | |
D_EXTERN void | CmnLog_Put (int level, const char *msgCode,...) |
標準ログ出力 [詳解] | |
D_EXTERN void | CmnLog_PutByCode (CmnLogEx *log, CMN_LOG_LEVEL level, const char *msgCode,...) |
標準ログ出力 [詳解] | |
D_EXTERN void | CmnLog_InitCmnClibLog (CmnLogEx *log, CMN_LOG_LEVEL level) |
D_EXTERN void | CmnLog_EndCmnClibLog () |
D_EXTERN void | CmnLog_PutCmnClibLog (CMN_LOG_LEVEL level, const char *msgCode,...) |
cmn-clib内部ログ出力 [詳解] | |
D_EXTERN CmnLogEx * | CmnLogEx_Create (const char *logFile, CMN_LOG_LEVEL level, const char *msgFile) |
拡張ログ出力関数初期化処理 [詳解] | |
D_EXTERN void | CmnLogEx_Free (CmnLogEx *log) |
拡張ログ出力共通関数終了処理 [詳解] | |
D_EXTERN void | CmnLogEx_Put (CmnLogEx *log, CMN_LOG_LEVEL level, const char *msg,...) |
拡張ログ出力 [詳解] | |
D_EXTERN void | CmnLogEx_PutByCode (CmnLogEx *log, CMN_LOG_LEVEL level, const char *msgCode,...) |
拡張ログ出力 [詳解] | |
D_EXTERN void | cmnLogEx_PutLog (CmnLogEx *log, CMN_LOG_LEVEL level, const char *msg, va_list args) |
拡張ログ出力(内部用関数) [詳解] | |
D_EXTERN CmnLogMessage * | CmnLogMessage_Create (const char *msgFile) |
ログメッセージ定義ファイル読み込み [詳解] | |
D_EXTERN void | CmnLogMessage_Free (CmnLogMessage *list) |
ログメッセージリスト解放処理 [詳解] | |
D_EXTERN int | CmnLogMessage_Get (CmnLogMessage *list, const char *msg_code, CmnLogMessage *msg) |
ログメッセージ取得 [詳解] | |
ログ出力系 共通関数 I/Fヘッダファイル
ログ出力系共通関数を使用するためのI/Fヘッダファイル。
ログ出力系の共通関数を使用する場合は、このヘッダファイルを読み込むこと
typedef struct tag_CmnLogEx CmnLogEx |
拡張ログ情報
typedef struct tag_CmnLogMessage CmnLogMessage |
ログメッセージ格納構造体
enum CMN_LOG_LEVEL |
ログ出力レベル
D_EXTERN void CmnLog_End | ( | ) |
標準ログ出力共通関数終了処理
標準ログ共通関数の終了処理を行う。(メモリ領域解放処理)
標準ログ共通関数の使用を終えた時は、必ずこの関数を実行すること。
D_EXTERN void CmnLog_EndCmnClibLog | ( | ) |
cmn-clib内部ログ出力終了
D_EXTERN int CmnLog_Init | ( | const char * | logFile, |
CMN_LOG_LEVEL | level, | ||
const char * | msgFile | ||
) |
標準ログ出力関数初期化処理
標準ログ出力の初期化を行う
標準ログ出力関数を使用する前にこの関数をコールしなければならない。
また、標準ログ出力関数の使用後(アプリケーション終了時)は、CmnLog_End関数をコールすること
1つのアプリケーションでログ形式を複数使用する場合は、拡張ログ出力関数(CmnLogEx_Create)を使用すること。
logFile | (I) ログを出力するファイルパスを指定する。 NULLを指定した場合は標準出力にログを出力する。 ファイルへの書き込みモードは、「追加書き込み」である。 |
level | (I) ログ出力レベル。 |
msgFile | (I) ログメッセージ定義ファイルへのパス 定義ファイルは、以下の構文に従わなければならない。
コメント
|
ERROR-01, エラー発生。XXの値は[s]です。d回目の処理でした。#ここもコメント<BR> ↑メッセージコード, ↑メッセージ
True | 初期化処理成功 |
False | 初期化処理失敗(以下のような場合に失敗する) msgFileのパスが不正な場合 メッセージ定義ファイルの文法が不正な場合 levelに不正な値が設定された場合 |
D_EXTERN void CmnLog_InitCmnClibLog | ( | CmnLogEx * | log, |
CMN_LOG_LEVEL | level | ||
) |
cmn-clib内部ログ出力設定。
この関数を実行するとcmn-clibの内部ログが指定したlogに出力される。
log | cmn-clib内部ログ出力先。NULLを指定した場合は標準ログとなる。 |
level | cmn-clib内部ログの出力レベル(log->levelより低いレベルのログを指定しても無効) |
D_EXTERN void CmnLog_Put | ( | int | level, |
const char * | msg, | ||
... | |||
) |
標準ログ出力
ログを出力する。
CmnLog_Init関数をコールする前に本関数をコールした場合は何も行わない。
< ログ出力例>="">
yyyy/mm/dd[hh:mm:ss] [level] メッセージ本文
level | (I) ログレベル。LoggerInitで指定されたログレベルと比較し、出力可否を決める。 |
msg | (I) メッセージ文言 |
... | (I) メッセージ内に含まれるsやdの部分に対応する変数を指定する |
D_EXTERN void CmnLog_PutByCode | ( | CmnLogEx * | log, |
CMN_LOG_LEVEL | level, | ||
const char * | msgCode, | ||
... | |||
) |
標準ログ出力
メッセージコードをもとにログを出力する。
< ログ出力例>="">
yyyy/mm/dd[hh:mm:ss] [level] msgCodeに対応するメッセージ文言
log | (I) 拡張ログ情報構造体へのポインタ(CmnLog_InitEx()関数の戻り値) |
level | (I) ログレベル。LoggerInitで指定されたログレベルと比較し、出力可否を決める。 |
msgCode | (I) メッセージコード |
... | (I) メッセージ内に含まれるsやdの部分に対応する変数を指定する |
D_EXTERN void CmnLog_PutCmnClibLog | ( | CMN_LOG_LEVEL | level, |
const char * | msg, | ||
... | |||
) |
cmn-clib内部ログ出力
cmn-clib内部ログを出力する。
CmnLog_InitCmnClibLog関数をコールする前に本関数をコールした場合は何も行わない。
この関数のラッパーマクロとして「CMNLOG_DEBUG」~「CMNLOG_ERROR」がある。
< ログ出力例>="">
yyyy/mm/dd hh:mm:ss [level] メッセージ本文
level | (I) ログレベル。CmnLog_InitCmnClibLogで指定されたログレベルと比較し、出力可否を決める。 |
msg | (I) メッセージ文言 |
... | (I) メッセージ内に含まれるsやdの部分に対応する変数を指定する |
D_EXTERN CmnLogEx* CmnLogEx_Create | ( | const char * | logFile, |
CMN_LOG_LEVEL | level, | ||
const char * | msgFile | ||
) |
拡張ログ出力関数初期化処理
ログメッセージ定義ファイルを読み込み、拡張ログ出力関数の使用準備をする。
拡張ログ出力関数を使用する前にこの関数をコールしなければならない。
また、拡張ログ出力関数の使用後は、CmnLogEx_Free()関数をコールすること。
標準ログ出力関数と異なり、複数のログ出力設定をすることが出来る。
logFile | (I) ログを出力するファイルパスを指定する。 NULLを指定した場合は標準出力にログを出力する。 ファイルへの書き込みモードは、「追加書き込み」である。 |
level | (I) ログ出力レベル。 指定可能な出力レベルについては、CmnLog_Init()関数を参照のこと。 |
msgFile | (I) ログメッセージ定義ファイルへのパス。 定義ファイルを使用しない場合はNULLを指定する。 定義ファイルの構文は、CmnLog_Init()関数を参照のこと。 |
D_EXTERN void CmnLogEx_Free | ( | CmnLogEx * | log | ) |
拡張ログ出力共通関数終了処理
標準ログ共通関数の終了処理を行う。(メモリ領域解放処理)
標準ログ共通関数の使用を終えた時は、必ずこの関数を実行すること。
log | (I/O) 拡張ログ情報へのポインタ |
D_EXTERN void CmnLogEx_Put | ( | CmnLogEx * | log, |
CMN_LOG_LEVEL | level, | ||
const char * | msg, | ||
... | |||
) |
拡張ログ出力
ログを出力する。出力先はCmnLog_InitEx()関数の引数fileに指定したファイル。
< ログ出力例>="">
yyyy/mm/dd[hh:mm:ss] [level] メッセージ本文
log | (I) 拡張ログ情報構造体へのポインタ(CmnLog_InitEx()関数の戻り値) |
level | (I) ログレベル。LoggerInitで指定されたログレベルと比較し、出力可否を決める。 |
msg | (I) メッセージ文言 |
... | (I) メッセージ内に含まれるsやdの部分に対応する変数を指定する |
D_EXTERN void CmnLogEx_PutByCode | ( | CmnLogEx * | log, |
CMN_LOG_LEVEL | level, | ||
const char * | msgCode, | ||
... | |||
) |
拡張ログ出力
ログを出力する。出力先はCmnLog_InitEx()関数の引数fileに指定したファイル。
< ログ出力例>="">
yyyy/mm/dd[hh:mm:ss] [level] msgCodeに対応するメッセージ文言
log | (I) 拡張ログ情報構造体へのポインタ(CmnLog_InitEx()関数の戻り値) |
level | (I) ログレベル。LoggerInitで指定されたログレベルと比較し、出力可否を決める。 |
msgCode | (I) メッセージコード |
... | (I) メッセージ内に含まれるsやdの部分に対応する変数を指定する |
D_EXTERN void cmnLogEx_PutLog | ( | CmnLogEx * | log, |
CMN_LOG_LEVEL | level, | ||
const char * | msg, | ||
va_list | args | ||
) |
拡張ログ出力(内部用関数)
ログを出力する。
< ログ出力例>="">
yyyy/mm/dd[hh:mm:ss] [level] メッセージ本文
log | (I) 拡張ログ情報構造体へのポインタ(CmnLog_InitEx()関数の戻り値) |
level | (I) ログレベル。LoggerInitで指定されたログレベルと比較し、出力可否を決める。 |
msg | (I) メッセージ文言 |
args | (I) メッセージ内に含まれるsやdの部分に対応する変数を指定する |
D_EXTERN CmnLogMessage* CmnLogMessage_Create | ( | const char * | msgFile | ) |
ログメッセージ定義ファイル読み込み
ログメッセージファイルの読み込みを行い、 LogMessage構造体にデータを格納する。
msgFile | (I) ログメッセージ定義ファイルへのパス |
LogMessageへのポインタ | 読み込み完了 |
NULL | False 読み込み失敗(以下のような場合に失敗する) fileが無効なポインタの場合 メッセージ定義ファイルの文法が不正な場合 |
D_EXTERN void CmnLogMessage_Free | ( | CmnLogMessage * | list | ) |
ログメッセージリスト解放処理
ログメッセージリストのメモリ領域を解放する
list | (I) 解放するログメッセージリストへのポインタ |
D_EXTERN int CmnLogMessage_Get | ( | CmnLogMessage * | list, |
const char * | msg_code, | ||
CmnLogMessage * | msg | ||
) |
ログメッセージ取得
メッセージコードに対応したメッセージコード文字列とメッセージ文字列を取得する
list | (I) ログメッセージリスト |
msg_code | (I) メッセージコード |
msg | (O) LogMessage構造体へのポインタを指定する。 メッセージ取得成功時には、msg->codeとmsg->msgに値が格納される |
True | 取得成功時 |
False | 取得失敗時(該当するメッセージコードが存在しない場合) |