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.