2012-03-28 10 views
2

私はEclipseでjsf Web Appを構築していますが、私はそのアプリケーションにロガーを与えました。私は私のサーバーのDBにログインするためにlog4j APIを使用しています。これを遂行するために私はthisチュートリアルに続き、すべて正常に動作します。 -log4jから別のdbカラムに挿入する方法

はいこの以来

がに起こっているのactionLogged ((ユーザー名))< < clientNumber >>:ロガーに入れ

"メッセージ" は、以下の形式を持ちますdbと私は、ログに記録された情報のレポートを与える必要があるつもりだ、私はuserName、clientNumberとアクションを介してフィルタすることができる必要がありますが、私は本当にそれを行うことはできません私はすべての"メッセージ"列の情報、私の最初のth oughtsはこれらでした:

可能な溶液#1 は、私が解析された文字列を挿入することができるように、私は、対応する列にDBに挿入する前に、log4j.propertiesファイル内のメッセージを解析する方法はありますテーブルに?

可能な溶液#2 私は形式を変更し、カンマを追加できるようにlog4j.propertiesにINSERT文をカンニングする方法はありますが、そのので、メッセージ自体に引用へのAPIを挿入残りの列(すなわち* userNameに「 『clientNumber』、」actionLogged)

可能な解決策#3 私は私のDBにテーブルへの挿入を行うと、私はメッセージを解析するためにトリガーを使用正しい値で2番目のテーブル(または同じテーブル)に値を挿入しますerName、clientNumber、およびAction Columnsが含まれています。

これをいくつか考えて、私があなたにとって最良のアプローチであると思っていることを教えてください。またはより良い解決策を提案したい場合は、先に進んでください、ありがとう!!!

〜MYY

答えて

1

私はlog4jのを使って誰もがあなたがそれを行うための迅速かつ簡単な方法をしたい場合は、DBの挿入前にトリガーを作成することであるということですお勧めしますどのような。あなたはlog4Jで実際に解析することができないので、この方法であなたが入ってくるメッセージを解析することができます。私がしたことは、テーブル、userName、ClientId、Actionに3つの列を追加したことです。私はlog4jの "メッセージ"を解析し、それに挿入されたフィールドにデータを入力しました。これはいつか私がやった同じ問題を抱えている誰かに役立つことを願っています。

+0

トリガーを設定する方法は? – badera

関連する問題