@Documented @Retention(value=SOURCE) @Target(value=TYPE) public @interface Log
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.| Modifier and Type | Optional Element and Description | 
|---|---|
String | 
category  | 
Class<? extends LogASTTransformation.LoggingStrategy> | 
loggingStrategy  | 
String | 
value  | 
String | 
visibilityId
If specified, must match the "id" attribute in a VisibilityOptions annotation to enable a custom visibility. 
 | 
public abstract String value
public abstract String category
public abstract String visibilityId
public abstract Class<? extends LogASTTransformation.LoggingStrategy> loggingStrategy