LogASTTransformation.LoggingStrategy (Groovy 4.0.10)
Description: declaration: package: org.codehaus.groovy.transform, class: LogASTTransformation, interface: LoggingStrategy

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`, `PlatformLog.JavaUtilLoggingStrategy`, `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.
  `default 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

    default String getCategoryName(ClassNode classNode, String categoryName)

  - ### wrapLoggingMethodCall

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