Class InstrumentedAppender

java.lang.Object
org.apache.logging.log4j.core.AbstractLifeCycle
org.apache.logging.log4j.core.filter.AbstractFilterable
org.apache.logging.log4j.core.appender.AbstractAppender
io.prometheus.client.log4j2.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
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final Counter
     
    static final String
     
    private static final Counter.Child
     
    private static final Counter.Child
     
    private static final Counter.Child
     
    private static final Counter.Child
     
    private static final Counter.Child
     
    private static final Counter.Child
     

    Fields inherited from class org.apache.logging.log4j.core.AbstractLifeCycle

    DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGER

    Fields inherited from interface org.apache.logging.log4j.core.Appender

    ELEMENT_TYPE, EMPTY_ARRAY
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Create a new instrumented appender using the default registry.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    append(org.apache.logging.log4j.core.LogEvent event)
     
     

    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
  • Field Details

  • Constructor Details

    • InstrumentedAppender

      protected InstrumentedAppender(String name)
      Create a new instrumented appender using the default registry.
  • Method Details

    • append

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

      @PluginFactory public static InstrumentedAppender createAppender(@PluginAttribute("name") String name)