[logback-user] commons-compiler required?
Eric Hough
k2eric at gmail.com
Tue Jan 11 22:08:38 CET 2011
Thank you for your detailed response!
I considered using GEventEvaluator but in my experience Groovy has
added more of a memory/performance overhead than I'm willing to take
on. The syntax is undoubtedly more concise, but I'm not using
expressions that are more than 1 or 2 lines, so for me Janino will
work just fine. Thanks again.
Eric
On Tue, Jan 11, 2011 at 9:36 AM, Ceki Gulcu <ceki at qos.ch> wrote:
> Hi Eric,
>
> I think commons-compiler is needed for Janino 2.6 and later. Logback was
> tested with Janino 2.4.x and 2.5.x.
>
> If you have a need for java-expressions, try GEventEvaluator even if you are
> not familiar with the Groovy language. Contrary to JaninoEventEvaluator
> which understands simple expressions, GEventEvaluator can parse blocks of
> code. As an example, with using Janino you would write:
>
> !logger.startsWith("org.apache.http")
> ||
> ( logger.equals("org.apache.http.wire") &&
> (mdc != null && mdc.get("entity") != null
> &&
> ((String) mdc.get("entity")).contains("someSpecialValue"))
> &&
> !message.contains("someSecret")
> )
>
> In Groovy, this would become:
>
> if(logger.startsWith("org.apache.http"))
> return true;
>
> if(mdc?.get("entity") == null)
> return false;
>
> String payee = (String) mdc.get("entity");
>
> if(logger.equals("org.apache.http.wire") &&
> payee.contains("someSpecialValue") &&
> !message.contains("someSecret")) {
> return true;
> }
>
> return false;
>
> Note the Groovy expression is almost valid Java. My point is that for most
> non-trivial expressions the Groovy version will be easier to write and to
> read.
>
> Note that while Groovy has advantages over Java as language, the biggest
> difference between JaninoEventEvaluator and GEventEvaluator is due to the
> former's limitation to boolean expressions. This limitations is likely to be
> removed in a future version of logback.
>
> HTH,
> --
> Ceki
>
>
> On 11.01.2011 17:12, Eric Hough wrote:
>>
>> Hi,
>>
>> I'm using Janino with logback to utilize evaluators after installing
>> Janino as described at http://logback.qos.ch/setup.html. It's working
>> great.
>>
>> However I noticed that over on Janino's site
>> (http://docs.codehaus.org/display/JANINO/Download#Download-installation)
>> they require commons-compiler.jar. My question is, does Logback also
>> require commons-compiler.jar? I just want to make sure I don't run
>> into a ClassNotFoundException down the road.
>>
>> Thanks!
>
> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://qos.ch/mailman/listinfo/logback-user
>
More information about the Logback-user
mailing list