Annotation Type Log


@Documented
@Retention(SOURCE)
@Target(TYPE)
public @interface Log
This local transform adds a logging ability to your program using java.util.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.isLoggable(Level.NAME) {
    log.name(exp)
 }
Here name is a place holder for info, fine, finer, finest, config, warning, severe. NAME is name transformed to upper case. if anything else is used it will result in an exception at runtime. 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
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  Log.JavaUtilLoggingStrategy
    This class contains the logic of how to weave a Java Util Logging logger into the host class.
  • Optional Element Summary

    Optional Elements
    Modifier and Type Optional Element Description
    java.lang.String category  
    java.lang.Class<? extends LogASTTransformation.LoggingStrategy> loggingStrategy  
    java.lang.String value  
    java.lang.String visibilityId
    If specified, must match the "id" attribute in a VisibilityOptions annotation to enable a custom visibility.
  • Element Details

    • value

      java.lang.String value
      Default:
      "log"
    • category

      java.lang.String category
      Default:
      "##default-category-name##"
    • visibilityId

      java.lang.String visibilityId
      If specified, must match the "id" attribute in a VisibilityOptions annotation to enable a custom visibility.
      Since:
      3.0.0
      Default:
      "<DummyUndefinedMarkerString-DoNotUse>"
    • loggingStrategy

      java.lang.Class<? extends LogASTTransformation.LoggingStrategy> loggingStrategy
      Default:
      groovy.util.logging.Log.JavaUtilLoggingStrategy.class