cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
|
拡張ログ出力 共通関数 [詳解]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <time.h>
#include "cmnclib/Common.h"
#include "cmnclib/CmnLog.h"
#include "cmnclib/CmnTime.h"
関数 | |
CmnLogEx * | CmnLogEx_Create (const char *logFile, CMN_LOG_LEVEL level, const char *msgFile) |
拡張ログ出力関数初期化処理 [詳解] | |
void | CmnLogEx_Free (CmnLogEx *log) |
拡張ログ出力共通関数終了処理 [詳解] | |
void | CmnLogEx_Put (CmnLogEx *log, CMN_LOG_LEVEL level, const char *msg,...) |
拡張ログ出力 [詳解] | |
void | CmnLogEx_PutByCode (CmnLogEx *log, CMN_LOG_LEVEL level, const char *msgCode,...) |
拡張ログ出力 [詳解] | |
void | cmnLogEx_PutLog (CmnLogEx *log, CMN_LOG_LEVEL level, const char *msg, va_list args) |
拡張ログ出力(内部用関数) [詳解] | |
拡張ログ出力 共通関数
ログを指定ファイルに出力する。ログの出力形式はログメッセージ定義ファイルで定義できる。
ログメッセージ定義ファイルの構文は標準ログ出力共通関数を参照のこと。
<使用例>
— message.conf(メッセージログファイル) ------------------—
TEST01, テストログs
TEST02, テストd回目s
-------------------------------------------------------------—
・以下、ログ出力処理例
CmnLog_LogEx *log = CmnLog_InitEx("message.conf", CMN_LOG_LEVEL_DETAIL, "test.log");
if (log == NULL) return ;
CmnLog_PutEx(log, CMN_LOG_LEVEL_DETAIL, "TEST01", "です");
CmnLog_PutEx(log, CMN_LOG_LEVEL_STANDARD, "TEST02", 1, "です");
CmnLog_PutEx(log, CMN_LOG_LEVEL_DEBUG, "TEST01", "です");
CmnLog_EndEx(log);
・以下、test.logファイルへの出力例(CMN_LOG_LEVEL_DEGUBで指定したメッセージは、この場合出力されない)<BR> YYYY/MM/DD CODE=TEST01 : テストログです
YYYY/MM/DD CODE=TEST01 : テスト1回目です
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()関数を参照のこと。 |
void CmnLogEx_Free | ( | CmnLogEx * | log | ) |
拡張ログ出力共通関数終了処理
標準ログ共通関数の終了処理を行う。(メモリ領域解放処理)
標準ログ共通関数の使用を終えた時は、必ずこの関数を実行すること。
log | (I/O) 拡張ログ情報へのポインタ |
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の部分に対応する変数を指定する |
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の部分に対応する変数を指定する |
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の部分に対応する変数を指定する |