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
    Modifier and Type | Optional Element and Description
    --- | ---
    `String` | `category`
    `Class<? extends LogASTTransformation.LoggingStrategy>` | `loggingStrategy`
    `String` | `value`

- - ### Element Detail

    - #### value

          public abstract String value

      Default:
        "log"

    - #### category

          public abstract String category

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

    - #### loggingStrategy

          public abstract Class<? extends LogASTTransformation.LoggingStrategy> loggingStrategy

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