Skip to end of metadata
Go to start of metadata


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

  • set the log handler is configured to show all levels

  • set levels for the specific logging names that you wish to log


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:

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:

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

  • make sure your log handler is configured to show level 'FINER' at least,

  • set MetaClass logging to 'FINER' at least,

  • set the appropriate Level for the Classes and optionally method names
    that you want to trace. The name for the appropriate logger starts with
    'methodCalls' and optionally ends with the method name,

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

  • No labels