java.lang.Object
java.util.logging.Handler
org.codehaus.mojo.jaxb2.shared.environment.logging.MavenLogHandler

public class MavenLogHandler extends Handler
Handler implementation which delegates its actual logging to an internal Maven log. This is required to capture logging statements from tools that use the Java Util Logging system internally - such as the JDK SchemaGen tool.
Since:
2.0
  • Field Details

    • log

      private org.apache.maven.plugin.logging.Log log
    • prefix

      private String prefix
  • Constructor Details

    • MavenLogHandler

      public MavenLogHandler(org.apache.maven.plugin.logging.Log log, String prefix, String encoding, String[] acceptedLogRecordPrefixes)
      Creates a new MavenLogHandler which adapts a Handler to emit log messages onto a Maven Log.
      Parameters:
      log - The Maven Log to emit log messages to.
      prefix - An optional prefix used to prefix any log message.
      encoding - The encoding which should be used.
      acceptedLogRecordPrefixes - A non-null list of prefixes holding LogRecord logger names for permitted/accepted LogRecords.
  • Method Details

    • publish

      public void publish(LogRecord logRecord)
      Specified by:
      publish in class Handler
    • flush

      public void flush()
      Specified by:
      flush in class Handler
    • close

      public void close() throws SecurityException
      Specified by:
      close in class Handler
      Throws:
      SecurityException
    • getJavaUtilLoggingLevelFor

      public static Level getJavaUtilLoggingLevelFor(org.apache.maven.plugin.logging.Log mavenLog)
      Retrieves the JUL Level matching the supplied Maven Log.
      Parameters:
      mavenLog - A non-null Maven Log.
      Returns:
      The Corresponding JUL Level.
    • getLoggingFilter

      public static Filter getLoggingFilter(String... requiredPrefixes)
      Retrieves a java.util.Logging filter used to ensure that only LogRecords whose logger names start with any of the required prefixes are logged.
      Parameters:
      requiredPrefixes - A non-null list of prefixes to be matched with the LogRecord logger names.
      Returns:
      A java.util.logging Filter that only permits logging LogRecords whose logger names start with any of the required prefixes.