我正在尝试使用logback中的求值器。因此,在我的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类的版本问题,但用调用“indexOf”替换“contains”基本上会导致相同的错误。
我使用的是janino 2.5.16和logback 0.9.15,所有的东西都是在tomcat上运行的(从maven插件开始)
你知道我做错了什么吗?
发布于 2011-01-29 03:05:08
表达式看起来不错。版本0.9.15已经快两年了。您可以升级到最新的logback版本吗?
https://stackoverflow.com/questions/4818056
复制相似问题