Package: org.codehaus.groovy.transform

## [Java] Interface 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.

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and 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

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

    - #### public String getCategoryName(ClassNode classNode, String categoryName)

    - #### public boolean isLoggingMethod(String methodName)

    - #### public Expression wrapLoggingMethodCall(Expression logVariable, String methodName, Expression originalExpression)