Class 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
    Author:
    Lennart Jörelid, jGuru Europe AB
    • Constructor Detail

      • 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 Detail

      • flush

        public void flush()
        Specified by:
        flush in class Handler
      • 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.