TSLog の初期化
int TSLOG_Init ( iID, pszLogFile, iSemKey )
入力 | ||
const int iID | ID 値 | |
const char *pszLogFile | ログファイル名 | |
const int iSemKey | セマフォキー |
機能
TSLog を初期化します。
ログファイルのヘッダー部で
OverW=1 か Init=1 ならログファイルがクリアされます。
ヘッダー部のパラメータに不足があるときはデフォルト値でヘッダー部が更新されます。そのため、空のログファイルを作ってやれば自動的にデフォルト値でログファイルが初期化されます。
iID には TSLOG_GetID ( ) で取得した ID を指定します。
pszLogFile には出力するファイル名を指定します。
Windows 版では、NULL や ""(空文字)を指定できます。その場合、実行ファイル名の拡張子
( .exe ) を .log.txt に変えたものを指定したことになります。
例えば
C:\App\Program.exe
なら
C:\App\Program.log.txt
になります。
iSemKey
にはログファイルを排他制御するためのセマフォキーを指定します。
Windows 版では Mutex
で排他制御するため、意味のあるキー値を指定する必要はありません。複数のプロセスが並行して同一のログファイルに出力する場合は
1 を指定します。1プロセス:1ログファイル の関係なら
0 を指定すれば Mutex
は作成されないので、余計なリソースを使わないで済みます。
UNIX 版ではこれをキーにしてセマフォが作成されます。複数のプロセスが並行して同一のログファイルに出力する場合、そのセマフォで排他制御されます。つまり、同一のログファイルに出力するプロセスは全て同じセマフォキーを指定する必要があります。1プロセス:1ログファイル の関係なら
0
を指定すればセマフォは作成されないので、余計なリソースを使わないで済みます。どのような値にしたらよいか分からないときは、プログラムの実行環境で
ipcs
コマンドを実行してみて、空いているキーを適当に探してください。
セマフォの取り扱いについては「注意・制限事項」を参照してください。
返却値
= 0 正常終了
< 0 エラー
備考
エラーが発生したときは TSLOG_GetErrorNo ( ) でエラーコードを取得できます。