org.codehaus.groovy.transform

## Interface LogASTTransformation.LoggingStrategy

All Known Implementing Classes:
  Commons.CommonsLoggingStrategy, Log.JavaUtilLoggingStrategy, Log4j.Log4jLoggingStrategy, Log4j2.Log4j2LoggingStrategy, LogASTTransformation.AbstractLoggingStrategy, Slf4j.Slf4jLoggingStrategy

Enclosing class:
  LogASTTransformation

    public static interface LogASTTransformation.LoggingStrategy

A LoggingStrategy defines how to wire a new logger instance into an existing class. It is meant to be used with the @Log family of annotations to allow you to write your own Log annotation provider.

### Method Summary

All Methods Instance Methods Abstract Methods
`FieldNode` `addLoggerFieldToClass(ClassNode classNode, java.lang.String fieldName, java.lang.String categoryName)` In this method, you are given a ClassNode, a field name and a category name, and you must add a new Field onto the class.
`java.lang.String` `getCategoryName(ClassNode classNode, java.lang.String categoryName)`
`boolean` `isLoggingMethod(java.lang.String methodName)`
`Expression` `wrapLoggingMethodCall(Expression logVariable, java.lang.String methodName, Expression originalExpression)`

### Method Detail

#### addLoggerFieldToClass

    FieldNode addLoggerFieldToClass(ClassNode classNode,
                                    java.lang.String fieldName,
                                    java.lang.String categoryName)

In this method, you are given a ClassNode, a field name and a category name, and you must add a new Field onto the class. Return the result of the ClassNode.addField operations.

Parameters:
  `classNode` - the class that was originally annotated with the Log transformation.
  `fieldName` - the name of the logger field
  `categoryName` - the name of the logging category
Returns:
  the FieldNode instance that was created and added to the class

#### isLoggingMethod

    boolean isLoggingMethod(java.lang.String methodName)

#### getCategoryName

    java.lang.String getCategoryName(ClassNode classNode,
                                     java.lang.String categoryName)

#### wrapLoggingMethodCall

    Expression wrapLoggingMethodCall(Expression logVariable,
                                     java.lang.String methodName,
                                     Expression originalExpression)