Class InstrumentedAppender

  • All Implemented Interfaces:
    org.apache.logging.log4j.core.Appender, org.apache.logging.log4j.core.filter.Filterable, org.apache.logging.log4j.core.impl.LocationAware, org.apache.logging.log4j.core.LifeCycle, org.apache.logging.log4j.core.LifeCycle2

    @Plugin(name="Prometheus",
            category="Core",
            elementType="appender")
    public final class InstrumentedAppender
    extends org.apache.logging.log4j.core.appender.AbstractAppender
    Log4j2 log statements at various log levels

    Example log4j2 configuration:

       <?xml version="1.0" encoding="UTF-8"?>
       <Configuration packages="io.prometheus.client.log4j2">
         <Appenders>
           <Prometheus name="PROMETHEUS"/>
         </Appenders>
         <Loggers>
           <Root level="trace">
             <AppenderRef ref="PROMETHEUS"/>
           </Root>
         </Loggers>
       </Configuration>
     
    Example metrics being exported:
       log4j_appender_total{level="trace",} 1.0
       log4j_appender_total{level="debug",} 2.0
       log4j_appender_total{level="info",} 3.0
       log4j_appender_total{level="warn",} 4.0
       log4j_appender_total{level="error",} 5.0
       log4j_appender_total{level="fatal",} 6.0
     
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.apache.logging.log4j.core.appender.AbstractAppender

        org.apache.logging.log4j.core.appender.AbstractAppender.Builder<B extends org.apache.logging.log4j.core.appender.AbstractAppender.Builder<B>>
      • Nested classes/interfaces inherited from interface org.apache.logging.log4j.core.LifeCycle

        org.apache.logging.log4j.core.LifeCycle.State
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected InstrumentedAppender​(java.lang.String name)
      Create a new instrumented appender using the default registry.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void append​(org.apache.logging.log4j.core.LogEvent event)  
      static InstrumentedAppender createAppender​(java.lang.String name)  
      • Methods inherited from class org.apache.logging.log4j.core.appender.AbstractAppender

        error, error, error, getHandler, getLayout, getName, ignoreExceptions, parseInt, requiresLocation, setHandler, toSerializable, toString
      • Methods inherited from class org.apache.logging.log4j.core.filter.AbstractFilterable

        addFilter, getFilter, getPropertyArray, hasFilter, isFiltered, removeFilter, start, stop, stop
      • Methods inherited from class org.apache.logging.log4j.core.AbstractLifeCycle

        equalsImpl, getState, getStatusLogger, hashCodeImpl, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, stop, stop
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.apache.logging.log4j.core.LifeCycle

        getState, initialize, isStarted, isStopped, start, stop
    • Constructor Detail

      • InstrumentedAppender

        protected InstrumentedAppender​(java.lang.String name)
        Create a new instrumented appender using the default registry.
    • Method Detail

      • append

        public void append​(org.apache.logging.log4j.core.LogEvent event)
      • createAppender

        @PluginFactory
        public static InstrumentedAppender createAppender​(@PluginAttribute("name")
                                                          java.lang.String name)