Basic configuration of the standard JDK to show logging methods can be accomplished with the following procedure:

In file %JAVA_HOME%/jre/lib/ or equivalent


You can annotate your classes with the @Log transformation to automatically inject a logger in your Groovy classes, under the log property. Four kind of loggers are actually available:

Here's a sample usage of the @Log transformation:

import groovy.util.logging.*

class Car {
    Car() { 'Car constructed'

def c = new Car()

You can change the name of the logger by specifying a different name, for instance with @Log('myLoggerName').

Another particularity of these logger AST transformations is that they take care of wrapping and safe-guarding logger calls with the usual isSomeLevelEnabled() calls. So when you write 'Car constructed', the generated code is actually equivalent to:

if (log.isLoggable(Level.INFO)) { 'Car constructed'

Tracing Method Calls

In order to enable tracing of how Groovy calls MetaMethods, use the following settings:

in file %JAVA_HOME%/jre/lib/ or equivalent

with tracing enabled for all method calls a Groovy command line
script appears as follows (German locale)

$ groovy -e "println 'hi'"
13.09.2005 14:33:05 script_from_command_line run()
FEINER: called from MetaClass.invokeMethod
13.09.2005 14:33:05 script_from_command_line println('hi')
FEINER: called from MetaClass.invokeMethod

See Also