groovy.util.logging

## Annotation Type Log4j

    @Documented
     @Retention(value=SOURCE)
     @Target(value=TYPE)
    public @interface Log4j

This local transform adds a logging ability to your program using Log4j logging. Every method call on a unbound variable named log will be mapped to a call to the logger. For this a log field will be inserted in the class. If the field already exists the usage of this transform will cause a compilation error. The method name will be used to determine what to call on the logger.

     log.name(exp)

is mapped to

     if (log.isNameEnabled() {
        log.name(exp)
     }

Here name is a place holder for info, debug, warning, error, etc. If the expression exp is a constant or only a variable access the method call will not be transformed. But this will still cause a call on the injected logger.

Since:
  1.8.0
Author:
  Hamlet D'Arcy, Tomek Bujok

### Optional Element Summary

Optional Elements
`java.lang.String` `category`
`java.lang.Class<? extends LogASTTransformation.LoggingStrategy>` `loggingStrategy`
`java.lang.String` `value`

### Element Detail

#### value

    public abstract java.lang.String value

Default:
  "log"

#### category

    public abstract java.lang.String category

Default:
  "##default-category-name##"

#### loggingStrategy

    public abstract java.lang.Class<? extends LogASTTransformation.LoggingStrategy> loggingStrategy

Default:
  groovy.util.logging.Log4j.Log4jLoggingStrategy.class