cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
 全て データ構造 ファイル 関数 変数 型定義 列挙型 列挙値 マクロ定義
CmnLogEx.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"

関数

CmnLogExCmnLogEx_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回目です

参照
標準ログ共通関数 CmnLog.c
著者
H.Kumagai
日付
2004-06-07
Revision
1.2

関数詳解

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()関数を参照のこと。
戻り値
初期化に成功した場合は、LogEx構造体へのポインタを返し、
初期化に失敗した場合はNULLを返す。(以下のような場合に失敗する)
msgFileのパスが不正な場合
メッセージ定義ファイルの文法が不正な場合
levelに不正な値が設定された場合
fileにNULLが指定された場合
参照
標準ログ出力関数初期化処理 CmnLog_Init()
著者
H.Kumagai
void CmnLogEx_Free ( CmnLogEx log)

拡張ログ出力共通関数終了処理

標準ログ共通関数の終了処理を行う。(メモリ領域解放処理)
標準ログ共通関数の使用を終えた時は、必ずこの関数を実行すること。

引数
log(I/O) 拡張ログ情報へのポインタ
著者
H.Kumagai
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の部分に対応する変数を指定する
著者
H.Kumagai
覚え書き
メッセージコードが存在しない場合は何も出力されない
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の部分に対応する変数を指定する
著者
H.Kumagai
覚え書き
メッセージコードが存在しない場合は何も出力されない
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の部分に対応する変数を指定する
著者
H.Kumagai
覚え書き
メッセージコードが存在しない場合は何も出力されない