Package: groovy.util.logging

## [Java] Annotation Type Log4j

- groovy.util.logging.Log4j

-     @Documented
      @Retention(RetentionPolicy.SOURCE)
      @Target(ElementType.TYPE)
      @GroovyASTTransformationClass("org.codehaus.groovy.transform.LogASTTransformation")
      public @interface Log4j

  This local transform adds a logging ability to your program using Log4j logging. Every method call on an 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 placeholder 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

- - ### Element Summary

    Optional Element Summary
    Type | Name and Description
    --- | ---
    `String` | `category` Default: LogASTTransformation.DEFAULT_CATEGORY_NAME
    `Class<? extends LogASTTransformation.LoggingStrategy>` | `loggingStrategy` Default: Log4jLoggingStrategy.class
    `String` | `value` Default: "log"
    `String` | `visibilityId` If specified, must match the "id" attribute in a VisibilityOptions annotation to enable a custom visibility.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Element Detail

    - #### public String category

      Default:
        LogASTTransformation.DEFAULT_CATEGORY_NAME

    - #### public Class<? extends LogASTTransformation.LoggingStrategy> loggingStrategy

      Default:
        Log4jLoggingStrategy.class

    - #### public String value

      Default:
        "log"

    - #### public String visibilityId

      If specified, must match the "id" attribute in a VisibilityOptions annotation to enable a custom visibility.

      Since:
        3.0.0
      Default:
        Undefined.STRING