Class Generate

java.lang.Object
org.apache.logging.log4j.core.tools.Generate

public final class Generate extends Object
Generates source code for custom or extended logger wrappers.

Usage:

To generate source code for an extended logger that adds custom log levels to the existing ones:
java org.apache.logging.log4j.core.tools.Generate$ExtendedLogger <logger.class.name> <CUSTOMLEVEL>=<WEIGHT> [CUSTOMLEVEL2=WEIGHT2 [CUSTOMLEVEL3=WEIGHT3] ...]

Example of creating an extended logger:
java org.apache.logging.log4j.core.tools.Generate$ExtendedLogger com.mycomp.ExtLogger DIAG=350 NOTICE=450 VERBOSE=550

To generate source code for a custom logger that replaces the existing log levels with custom ones:
java org.apache.logging.log4j.core.tools.Generate$CustomLogger <logger.class.name> <CUSTOMLEVEL>=<WEIGHT> [CUSTOMLEVEL2=WEIGHT2 [CUSTOMLEVEL3=WEIGHT3] ...]

Example of creating a custom logger:
java org.apache.logging.log4j.core.tools.Generate$CustomLogger com.mycomp.MyLogger DEFCON1=350 DEFCON2=450 DEFCON3=550

  • Field Details

  • Constructor Details

    • Generate

      private Generate()
  • Method Details

    • generate

      private static void generate(String[] args, Generate.Type type)
    • generateExtend

      public static void generateExtend(String[] args, PrintStream printStream)
      Generates source code for extended logger wrappers that provide convenience methods for the specified custom levels.
      Parameters:
      args - className of the custom logger to generate, followed by a NAME=intLevel pair for each custom log level to generate convenience methods for
      printStream - the stream to write the generated source code to
    • generateCustom

      public static void generateCustom(String[] args, PrintStream printStream)
      Generates source code for custom logger wrappers that only provide convenience methods for the specified custom levels, not for the standard built-in levels.
      Parameters:
      args - className of the custom logger to generate, followed by a NAME=intLevel pair for each custom log level to generate convenience methods for
      printStream - the stream to write the generated source code to
    • generate

      static void generate(String[] args, Generate.Type type, PrintStream printStream)
    • validate

      static boolean validate(String[] args)
    • usage

      private static void usage(PrintStream out, Class<?> generator)
    • generateSource

      static String generateSource(String classNameFQN, List<Generate.LevelInfo> levels, Generate.Type type)
    • javadocDescription

      static String javadocDescription(List<Generate.LevelInfo> levels)
    • camelCase

      static String camelCase(String customLevel)