ザ・シグラル

Log.txtの関連関数


見落としがちなログファイル出力関数の説明を行おうと思います。
ログファイルというのはDxlibを利用したソフトを起動した時にその階層にできるLog.txtというファイルで、実際にゲームを公開すると邪魔なので不要になります。
逆にデバック段階ではもともと書かれている内容とは別にデバックしたいこともあります。
まず、ログファイルの出力の有無を設定したい場合には、SetOutApplicationLogValidFlag関数を利用します。
また、ログファイルに文字列を出力したい場合はErrorLogAdd関数またはErrorLogFmtAdd関数(AppLogAdd関数)を利用します。
ただしログファイルのタブ数を増減させたい場合にはErrorLogTabAdd関数やErrorLogTabSub関数を利用します。
さらに、SetUseTimeStampFlag関数を使うことでログファイルに起動してからの時間を付けるかどうかを設定することができます。
Dxlib_Init関数以前のみ呼び出せる関数にはログファイルの保存ディレクトリを設定するSetApplicationLogSaveDirectory関数や、ログファイル名に日付をつけるかどうかを設定するSetUseDateNameLogFile関数もあります。

<今日の関数>
公開関数
SetOutApplicationLogValidFlag関数:ログ出力を行うか否かのセット

非公開関数
ErrorLogAdd関数:
宣言:int ErrorLogAdd( const TCHAR *ErrorStr ) ;
概略:ログファイル( Log.txt ) に文字列を出力する
引数:ErrorStr 出力する文字
戻り値:0:出力が抑制された
  -1:初期化失敗または出力成功
解説:ログファイルに指定した文字列を出力します。戻り値が成功であっても-1である点に注意してください。

ErrorLogFmtAdd関数:
宣言:int ErrorLogFmtAdd( const TCHAR *FormatString , ... ) ;
概略:書式付きで ログファイル( Log.txt ) に文字列を出力する( 書式は printf と同じ )
引数:const TCHAR *String : 書式付き文字列
... : 書式付き文字列に付随する引数
戻り値:0:出力が抑制された
  -1:初期化失敗または出力成功
解説:ログファイルに書式付き文字列を出力します。書式はprintf関数と同様です。戻り値が成功であっても-1である点に注意してください。

AppLogAdd関数:
宣言:int AppLogAdd( const TCHAR *String , ... ) ;
概略:ErrorLogFmtAddと同じ機能の関数
引数: const TCHAR *String : 書式付き文字列
... : 書式付き文字列に付随する引数
戻り値:0:出力が抑制された
  -1:初期化失敗または出力成功
解説:ErrorLogFmtAdd関数と全く同じ機能の関数です。ErrorLogFmtAdd関数を御覧ください。
       戻り値が成功であっても-1である点に注意してください。

ErrorLogTabAdd関数
宣言:int ErrorLogTabAdd( void ) ;
概略:ログファイル( Log.txt ) に出力する文字列の前に付けるタブの数を一つ増やす
引数:なし
戻り値:0:成功
  -1:エラー発生
解説:以後全てのログファイルの行に対して文字の前に挿入するタブ数を1つ増やします。

ErrorLogTabSub関数
宣言:int ErrorLogTabSub( void ) ;
概略:ログファイル( Log.txt ) に出力する文字列の前に付けるタブの数を一つ減らす
引数:なし
戻り値:0:成功
  -1:エラー発生
解説:以後全てのログファイルの行に対して文字の前に挿入するタブ数を1つ減らします。
       タブの最小数は0なのですでにタブ数が0の状態で実行しても意味はありません。

SetUseTimeStampFlag関数
宣言:int ESetUseTimeStampFlag( int UseFlag ) ;
概略:ログファイル( Log.txt ) に出力する文字列の前に起動してからの時間を付けるかどうかを設定する
       ( TRUE:付ける( デフォルト) FALSE:付けない )
引数:UseFlag 時間を付けるか
TRUE:時間を付ける
FALSE:時間をつけない
戻り値:0:成功
  -1:エラー発生
解説:TRUEにすると出力される文字の前に時間が付くようになります。

SetApplicationLogSaveDirectory関数
宣言:int SetApplicationLogSaveDirectory( const TCHAR *DirectoryPath ) ;
概略:ログファイル( Log.txt ) を保存するディレクトリパスを設定する
引数:const TCHAR *DirectoryPath:保存するディレクトリのパス
戻り値:0:成功
  -1:エラー発生
解説:ログファイルの保存先を変更します。Dxlib_Init関数より前に呼び出してください。
        Dxlib_Init関数以降に呼び出すと保存ディレクトリは正常に変更されて以後のログファイルはそちらに生成されますが文字が正常に保存されません。

SetUseDateNameLogFile関数
宣言:int SetUseDateNameLogFile( int Flag ) ;
概略:ログファイル名に日付をつけるかどうかをセットする( TRUE:付ける FALSE:付けない( デフォルト )
引数: Flag ログファイル名に日付を付けるか
TRUE:日付を付ける
FALSE:日付を付けない
戻り値:0:成功
  -1:エラー発生
解説:ログファイル名に日付を付けるかを設定します。Dxlib_Init関数より前に呼び出してください。
        Dxlib_Init関数以降に呼び出すと動作しません。



※非公開関数の解説は私が書いています。一貫性を持たせるために可能な限りDxlib制作者様に似せて書いておりますが改善の要望等ありましたらコメントをお願い致します

inserted by FC2 system