Log4j2 (Groovy 2.4.14)
Date: 2018-02-24

groovy.util.logging

## Annotation Type Log4j2

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

  This local transform adds a logging ability to your program using Log4j2 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:
    2.2.0

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `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.Log4j2.Log4j2LoggingStrategy.class