Class AbstractLogger

  • All Implemented Interfaces:
    Logger
    Direct Known Subclasses:
    JavaUtilLog, LoggerLog, Slf4jLog, StdErrLog

    public abstract class AbstractLogger
    extends java.lang.Object
    implements Logger
    Abstract Logger. Manages the atomic registration of the logger by name.
    • Constructor Detail

      • AbstractLogger

        public AbstractLogger()
    • Method Detail

      • getLogger

        public final Logger getLogger​(java.lang.String name)
        Specified by:
        getLogger in interface Logger
        Parameters:
        name - the name of the logger
        Returns:
        a logger with the given name
      • newLogger

        protected abstract Logger newLogger​(java.lang.String fullname)
      • lookupLoggingLevel

        public static int lookupLoggingLevel​(java.util.Properties props,
                                             java.lang.String name)
        Get the Logging Level for the provided log name. Using the FQCN first, then each package segment from longest to shortest.
        Parameters:
        props - the properties to check
        name - the name to get log for
        Returns:
        the logging level
      • getLoggingProperty

        public static java.lang.String getLoggingProperty​(java.util.Properties props,
                                                          java.lang.String name,
                                                          java.lang.String property)
      • getLevelId

        protected static int getLevelId​(java.lang.String levelSegment,
                                        java.lang.String levelName)
      • condensePackageString

        protected static java.lang.String condensePackageString​(java.lang.String classname)
        Condenses a classname by stripping down the package name to just the first character of each package name segment.Configured
         Examples:
         "org.eclipse.jetty.test.FooTest"           = "oejt.FooTest"
         "org.eclipse.jetty.server.logging.LogTest" = "orjsl.LogTest"
         
        Parameters:
        classname - the fully qualified class name
        Returns:
        the condensed name
      • debug

        public void debug​(java.lang.String msg,
                          long arg)
        Description copied from interface: Logger
        Formats and logs at debug level. avoids autoboxing of integers
        Specified by:
        debug in interface Logger
        Parameters:
        msg - the formatting string
        arg - long value