ログバックでエバリュエーターを使用しようとしています。そのため、logback.xmlにこのスニペットがあります
<evaluator name="IS_INTERESTING">
<expression>logger != null && message != null && logger.contains(".xxx.") && message.contains("closing session")</expression>
</evaluator>
しかし、Janinoはそれを処理できず、次のエラーが発生します。
15:56:14,061 |-ERROR in ch.qos.logback.classic.boolex.JaninoEventEvaluator@15da7d - Could not start evaluator with expression [logger != null && message != null && logger.contains(".xxx.") && message.contains("closing session")] org.codehaus.janino.CompileException: Line 2, Column 53: A method named "contains" is not declared in any enclosing class nor any supertype, nor through a static import
at org.codehaus.janino.CompileException: Line 2, Column 53: A method named "contains" is not declared in any enclosing class nor any supertype, nor through a static import
Stringクラスのバージョンの問題かもしれないと思いましたが、「contains」を「indexOf」の呼び出しに置き換えると、基本的に同じエラーが発生しました。
私はjanino2.5.16とlogback0.9.15を使用しており、すべてのものがTomcatで実行されています(Mavenプラグインのもので開始)
私が間違っていることについて何か考えはありますか?