1

System.out.println("RuleName : "+ruleName); のようなログを作成したい。IBM ODM ルール エンジンで。

これらは私がしたことです。

1- 静的な BOM 仮想メソッドを作成し、ilog.rules.engine.IlrRuleInstance のオブジェクトであるインスタンスのパラメーターを取得します。

instance ilog.rules.engine.IlrRuleInstance

2- 次の方法で、BOM から XOM へのマッピングを作成します。

System.out.println("Log icinde");
String ruleName = "";
if (instance != null )
    ruleName = instance.getRuleName();
else
    System.out.println("instance null!");
if (ruleName != null) {
    System.out.println("RuleName: "+ ruleName);
}
return;

3- ルール フローで最初または最後のアクションとして呼び出します。

utility.logla(ruleInstance);

しかし、フローを実行すると、ログが機能しません。インスタンスはnullで、ruleName もnullです。

bom を使用してログ機能を構成および設定するにはどうすればよいですか。例を挙げていただけますか?

ありがとう。

4

4 に答える 4

0

ルールからログを記録するためのはるかに優れた方法があります。Virtual メソッドでは、ruleInstance ではなくルール自体の名前を渡します。メソッドを言語化して、各ルールで同じものを使用することもできます。

例: From BAL:このルールの名前をログに記録します。

IRL から: Log(ilog.rules.brl.IlrNameUtil.getBusinessIdentifier(?instance.ruleName));

于 2015-03-12T08:59:00.470 に答える
0

したがって、実行サーバーの一部であるデシジョン ウェアハウスを使用して、各実行を追跡できます。これには、実行中に起動されたルールが含まれる場合がありますが、適用するフィルターによって異なります。

DW とそのセットアップ方法に関するドキュメントは次のとおりです。 .html

于 2014-02-19T11:45:30.280 に答える
-1

もう 1 つの方法はthe name of this rule、ルール アプリケーションまたはモジュールのルール フロー (オーケストレーション) 内で上記の BAL ( ) を使用することです。

もちろん、このソリューションは、デバッグまたはトラブルシューティングのシナリオにのみ使用する必要があります。

お役に立てれば。

于 2016-04-29T18:30:22.630 に答える