Package org.codehaus.groovy.transform

## Interface LogASTTransformation.LoggingStrategy

- All Known Subinterfaces:
    `LogASTTransformation.LoggingStrategyV2`
  All Known Implementing Classes:
    `Commons.CommonsLoggingStrategy`, `Log.JavaUtilLoggingStrategy`, `Log4j.Log4jLoggingStrategy`, `Log4j2.Log4j2LoggingStrategy`, `LogASTTransformation.AbstractLoggingStrategy`, `LogASTTransformation.AbstractLoggingStrategyV2`, `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
    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 Detail

    - #### 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)