Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT

## groovy.util.logging
[Java] Annotation Type Slf4j

    java.lang.Object
      groovy.util.logging.Slf4j

    @Retention(RetentionPolicy.SOURCE)
    @Target({ElementType.TYPE})
    @GroovyASTTransformationClass("org.codehaus.groovy.transform.LogASTTransformation")
    public @interface Slf4j

This local transform adds a logging ability to your program using LogBack 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.isNameLoggable() {
        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.

Authors:
  Hamlet D'Arcy
  Alberto Mijares

Since:
  1.8.0

Nested Class Summary
`static class` | `Slf4j.Slf4jLoggingStrategy`

Optional Element Summary
`java.lang.Class` | `loggingStrategy` @default Slf4jLoggingStrategy.class
`java.lang.String` | `value` @default "log"

Method Summary

Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()

Element Detail

### loggingStrategy

    public java.lang.Class loggingStrategy

  @default Slf4jLoggingStrategy.class

### value

    public java.lang.String value

  @default "log"

Groovy Documentation