Annotation Interface PlatformLog


@Documented @Retention(SOURCE) @Target(TYPE) public @interface PlatformLog
This local transform adds a logging ability to your program using java.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.
 import groovy.util.logging.*
 import static java.lang.System.Logger.Level.INFO

 @PlatformLog
 class Foo {
     def method() {
         log.log INFO, 'Foobar'
     }
 }

 new Foo().method()
 
Since:
4.0.0
  • Nested Class Summary

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

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Returns the logger category name.
    Returns the logging strategy implementation used by this transform.
    Returns the injected logger field name.
    If specified, must match the "id" attribute in a VisibilityOptions annotation to enable a custom visibility.
  • Element Details

    • value

      String value
      Returns the injected logger field name. Defaults to "log".
      Returns:
      the logger field name
      Default:
      "log"
    • category

      String category
      Returns the logger category name. Defaults to LogASTTransformation.DEFAULT_CATEGORY_NAME, which uses the host class name.
      Returns:
      the logger category name
      Default:
      "##default-category-name##"
    • visibilityId

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

      Class<? extends LogASTTransformation.LoggingStrategy> loggingStrategy
      Returns the logging strategy implementation used by this transform. Defaults to PlatformLog.JavaUtilLoggingStrategy.
      Returns:
      the logging strategy type
      Default:
      groovy.util.logging.PlatformLog.JavaUtilLoggingStrategy.class