【発生条件と事象】
intra-mart Accel Platform を 2025 Autumn 以降のバージョンにアップデートした際に、ログ設定ファイルで JaninoEventEvaluator を利用していた場合、アプリケーション起動時に以下のエラーが出力されます。
◆ パターン1:ログ設定ファイルで EvaluatorFilter のプロパティ「evaluator」の class 属性を JaninoEventEvaluator に指定している場合
[ERROR] j.c.i.c.p.l.u.LogbackUtil - [] [ERROR] ch.qos.logback.core.model.processor.ImplicitModelHandler - Could not create component [filter] of type [ch.qos.logback.classic.boolex.JaninoEventEvaluator]
◆ パターン2:ログ設定ファイルで EvaluatorFilter のプロパティ「evaluator」の class 属性を未指定にしている場合(デフォルト実装の JaninoEventEvaluator を利用している場合)
[ERROR] j.c.i.c.p.l.u.LogbackUtil - [] [ERROR] ch.qos.logback.core.filter.EvaluatorFilter@7b8d84de - No evaluator set for filter null
このエラーが出力される場合は、JaninoEventEvaluator を独自の EventEvaluator 実装クラスで置き換える必要があります。
※ 対応を実施しない場合、ログ設定ファイルが正常に読み込まれず、ログ出力に支障が生じる可能性があります。
【原因】
intra-mart Accel Platform 2025 Autumn で Logback を 1.3.15 にバージョンアップしました。
このバージョンアップにより、Logbackから JaninoEventEvaluator が削除されたため、ログ設定ファイルでこの機能を利用している場合は、JaninoEventEvaluator を独自の EventEvaluator 実装クラスで置き換える必要があります。
【対応方法】
ログ設定ファイルで JaninoEventEvaluator を利用している場合は、以下の手順で対応してください。
1. 独自の EventEvaluator 実装クラスを作成する
Logback公式ドキュメント - JaninoEventEvaluatorを参考に、独自の EventEvaluator 実装クラスを作成します。
詳細は、intra-mart Accel Platform ログ仕様書 - EventEvaluator を参照してください。
2. ユーザモジュールを作成し、WARファイルに追加します
作成した EventEvaluator 実装クラスをユーザモジュールとしてWARファイルに追加します。
3. ログ設定ファイルを修正する
JaninoEventEvaluator を利用していた部分を、作成した独自実装クラスを参照するように修正します。
[修正前]
<evaluator class="ch.qos.logback.classic.boolex.JaninoEventEvaluator">
<expression>message.contains("xxxx")</expression>
</evaluator>
[修正後]
<evaluator class="xxxx.xxxx.xxxx.xxxx" /><!-- 独自の EventEvaluator 実装クラスを指定する -->
【注意】
intra-mart Accel Platform 2025 Spring以前のバージョンでは、EvaluatorFilter のプロパティ「evaluator」の class 属性が未指定の場合、デフォルト実装として JaninoEventEvaluator が利用されていました。
そのため、ログ設定ファイルで JaninoEventEvaluator を明示的に指定していない場合でも、以下のような evaluator 要素がある場合は対応が必要です。
<evaluator /> <!-- class 属性未指定でデフォルト実装を使用している場合 -->
ご自身のログ設定ファイルを確認し、evaluator 要素が存在する場合は適宜対応してください。
4. 修正したログ設定ファイルをデプロイする
ログ設定ファイルの配置方法には以下のケースがあります。
・製品標準のログ設定ファイルを修正している場合
Jugglingプロジェクトの conf/log/ 配下に修正したログ設定ファイルを配置し、WARファイルを出力してデプロイします。
・ユーザ独自に作成したログ設定ファイルを使用している場合
e Builderでconf/log/配下に設定ファイルを配置してユーザモジュールを作成しJugglingプロジェクトに追加するか、またはJugglingプロジェクトの conf/log/ 配下に配置してWARファイルを出力しデプロイします。
詳細は、intra-mart Accel Platform ログ仕様書 - ログ設定ファイルの編集 を参照してください。
【参考ドキュメント】
・intra-mart Accel Platform ログ仕様書 - EventEvaluator
https://document.intra-mart.jp/library/iap/public/im_core/im_log_specification/texts/log_class/filter/index.html#eventevaluator
・intra-mart Accel Platform ログ仕様書 - ログ設定ファイルの編集
https://document.intra-mart.jp/library/iap/public/im_core/im_log_specification/texts/overview/index.html#ログ設定ファイルの編集
・intra-mart Accel Platform セットアップガイド - アップデート時に IM-Juggling で必要なメンテナンス作業 - 2025 Spring(Kamille) からアップデート - 【各種ログ設定ファイルの内容を変更している場合】
https://document.intra-mart.jp/library/iap/public/setup/iap_setup_guide/texts/create_war/update_module/editing_configuration_file.html#id31
・Logback公式ドキュメント - JaninoEventEvaluator
https://logback.qos.ch/manual/filters.html#JaninoEventEvaluator
-- 対象 -------------------------------------------------------------------------
iAP/Accel Platform/2025 Autumn 以降
--------------------------------------------------------------------------------
FAQID:1435
JaninoEventEvaluator が使用できなくなりました。