管理ガイド> TDV ログ情報> イベントログの構成と有効化> 監査ログファイルの動作のカスタマイズ
 
監査ログファイルの動作のカスタマイズ
TDVイベントハンドラーをカスタマイズして、TDV要求をキャプチャする監査ログファイルを作成できます。監査ファイルのニーズに応じて、カスタムイベントハンドラーを作成し、さまざまな値でTDVイベントを構成することをお勧めします。
TDVイベントハンドラーAPIは、監査ファイルログイベントに限定されません。必要な特定の情報をキャプチャするカスタムイベントハンドラーを作成できます。
カスタムイベントハンドラーを使用して監査ログの動作をカスタマイズするには
1. com.compositesw.extension.events.EventHandlerを拡張するcustomEventHandler.jarイベントハンドラーを作成します。 JARファイルの名前はcustomEventHandler.jarである必要があります。
次のサンプルコードは、イベントをキャプチャし、UNIXの/tmpの下のログファイルに保存します。
import com.compositesw.extension.events.EventHandler;
 
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.Map;
import java.util.Set;
import java.util.Date;
import java.util.Locale;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
 
public class SampleEventHandler
implements EventHandler
{
 
private DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ",Locale.US);
 
public void handleEvent(Map eventInfo)
throws Exception
{
File f = new File("/tmp/events.log");
PrintWriter log = new PrintWriter(new FileWriter(f, true));
 
log.println("Event:");
 
long time = Long.parseLong((String)eventInfo.get("time"));
String dateString = df.format(new Date(time));
log.println("\tdate-->" + df.format(new Date(time)));
 
Set keys = eventInfo.keySet();
for (Object key : keys) {
log.println("\t" + key.toString() + "-->" + eventInfo.get(key));
}
log.flush();
}
}
 
2. TDV Serverを停止します。
3. customEventHandler.jarをコピーして、<TDV_install_dir>/apps/extension/libディレクトリに保存します。
4. TDV Serverを起動します。
5. 管理者ユーザーとしてStudioを開いてログインします。
6. [管理]メニューから、[構成]を選択します。
7. [サーバー] >[イベントとログ]を選択します。
8. [システムイベントを有効にする]がTrueに設定されていることを確認します。
9. サーバーに移動>イベントとログ>ログ>カスタムロガー。
10. [カスタムJarの場所]に、手順1で作成したcustomEventHandler.jarの完全修飾ディレクトリを入力します。
11. [カスタムログを有効にする]で、[True]を選択します。
12. [サーバー] > [イベントとログ] > [イベント生成] > [イベントのリクエスト]でカスタム監査リクエストを有効にします。スケジュールできるイベントには多くの種類があります。
この例では、次の表に示すように、次のパラメーターの値を設定します。
構成パラメーター
例の値
Request Start
DB, LOG, CUSTOM
Request End
DB, LOG, CUSTOM
Request Fail
DB, LOG, CUSTOM
13. オプションで、ログファイルにWebサービス名をキャプチャするには、[内部要求のイベントを有効にする]プロパティをtrueに設定する必要があります。
14. TDV Serverを再起動します。
15. サンプルログファイルでTDVリクエストイベントを確認するには、次の手順に従います。
a. Studioにログインします。
b. リソースツリーで、[デスクトップ] > [データサービス] > [データベース] > [システム] > [LOG_EVENTS]に移動します。
c. LOG_EVENTSテーブルを開きます。
d. テーブルクエリを実行して、イベントがログファイルに送信されるようにします。
e. Studioの外部で、ログファイルを開き、RequestStartイベントとRequestEndイベントのTDVイベントの詳細を確認します。