Package groovy.util.logging

# 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`
  `PlatformLog.JavaUtilLoggingStrategy`
  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
  `String`
  `category`
  Returns the logger category name.
  `Class<? extends LogASTTransformation.LoggingStrategy>`
  `loggingStrategy`
  Returns the logging strategy implementation used by this transform.
  `String`
  `value`
  Returns the injected logger field name.
  `String`
  `visibilityId`
  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