Package 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

Modifier and Type
Method
Description
`FieldNode`
`addLoggerFieldToClass(ClassNode classNode, String fieldName, 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.
`String`
`getCategoryName(ClassNode classNode, String categoryName)`
`boolean`
`isLoggingMethod(String methodName)`
`Expression`
`wrapLoggingMethodCall(Expression logVariable, String methodName, Expression originalExpression)`

## Method Details

### addLoggerFieldToClass

FieldNode addLoggerFieldToClass(ClassNode classNode, String fieldName, 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(String methodName)

### getCategoryName

String getCategoryName(ClassNode classNode, String categoryName)

### wrapLoggingMethodCall

Expression wrapLoggingMethodCall(Expression logVariable, String methodName, Expression originalExpression)