Package io.dropwizard.logback
Class ThrottlingAppenderWrapper<E extends ch.qos.logback.core.spi.DeferredProcessingAware>
- java.lang.Object
-
- io.dropwizard.logback.ThrottlingAppenderWrapper<E>
-
- All Implemented Interfaces:
ch.qos.logback.core.Appender<E>,ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.spi.FilterAttachable<E>,ch.qos.logback.core.spi.LifeCycle,AsyncAppenderBaseProxy<E>
public class ThrottlingAppenderWrapper<E extends ch.qos.logback.core.spi.DeferredProcessingAware> extends Object implements ch.qos.logback.core.Appender<E>, AsyncAppenderBaseProxy<E>
AnAsyncAppenderBasethat applies throttling to a proxied appender. Throttling is defined by an average duration between messages. Throttled messages are discarded.
-
-
Constructor Summary
Constructors Constructor Description ThrottlingAppenderWrapper(ch.qos.logback.core.AsyncAppenderBase<E> delegate, long messageRate, TimeUnit rateUnit)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddError(String msg)voidaddError(String msg, Throwable ex)voidaddFilter(ch.qos.logback.core.filter.Filter<E> newFilter)voidaddInfo(String msg)voidaddInfo(String msg, Throwable ex)voidaddStatus(ch.qos.logback.core.status.Status status)voidaddWarn(String msg)voidaddWarn(String msg, Throwable ex)voidclearAllFilters()voiddoAppend(E event)ch.qos.logback.core.AsyncAppenderBase<E>getAppender()ch.qos.logback.core.ContextgetContext()List<ch.qos.logback.core.filter.Filter<E>>getCopyOfAttachedFiltersList()ch.qos.logback.core.spi.FilterReplygetFilterChainDecision(E event)StringgetName()booleanisStarted()voidsetContext(ch.qos.logback.core.Context context)voidsetName(String name)voidstart()voidstop()StringtoString()
-
-
-
Method Detail
-
getAppender
public ch.qos.logback.core.AsyncAppenderBase<E> getAppender()
- Specified by:
getAppenderin interfaceAsyncAppenderBaseProxy<E extends ch.qos.logback.core.spi.DeferredProcessingAware>
-
start
public void start()
- Specified by:
startin interfacech.qos.logback.core.spi.LifeCycle
-
stop
public void stop()
- Specified by:
stopin interfacech.qos.logback.core.spi.LifeCycle
-
isStarted
public boolean isStarted()
- Specified by:
isStartedin interfacech.qos.logback.core.spi.LifeCycle
-
doAppend
public void doAppend(E event) throws ch.qos.logback.core.LogbackException
- Specified by:
doAppendin interfacech.qos.logback.core.Appender<E extends ch.qos.logback.core.spi.DeferredProcessingAware>- Throws:
ch.qos.logback.core.LogbackException
-
getName
public String getName()
- Specified by:
getNamein interfacech.qos.logback.core.Appender<E extends ch.qos.logback.core.spi.DeferredProcessingAware>
-
setName
public void setName(String name)
- Specified by:
setNamein interfacech.qos.logback.core.Appender<E extends ch.qos.logback.core.spi.DeferredProcessingAware>
-
getContext
public ch.qos.logback.core.Context getContext()
- Specified by:
getContextin interfacech.qos.logback.core.spi.ContextAware
-
setContext
public void setContext(ch.qos.logback.core.Context context)
- Specified by:
setContextin interfacech.qos.logback.core.spi.ContextAware
-
addStatus
public void addStatus(ch.qos.logback.core.status.Status status)
- Specified by:
addStatusin interfacech.qos.logback.core.spi.ContextAware
-
addInfo
public void addInfo(String msg)
- Specified by:
addInfoin interfacech.qos.logback.core.spi.ContextAware
-
addInfo
public void addInfo(String msg, Throwable ex)
- Specified by:
addInfoin interfacech.qos.logback.core.spi.ContextAware
-
addWarn
public void addWarn(String msg)
- Specified by:
addWarnin interfacech.qos.logback.core.spi.ContextAware
-
addWarn
public void addWarn(String msg, Throwable ex)
- Specified by:
addWarnin interfacech.qos.logback.core.spi.ContextAware
-
addError
public void addError(String msg)
- Specified by:
addErrorin interfacech.qos.logback.core.spi.ContextAware
-
addError
public void addError(String msg, Throwable ex)
- Specified by:
addErrorin interfacech.qos.logback.core.spi.ContextAware
-
addFilter
public void addFilter(ch.qos.logback.core.filter.Filter<E> newFilter)
- Specified by:
addFilterin interfacech.qos.logback.core.spi.FilterAttachable<E extends ch.qos.logback.core.spi.DeferredProcessingAware>
-
clearAllFilters
public void clearAllFilters()
- Specified by:
clearAllFiltersin interfacech.qos.logback.core.spi.FilterAttachable<E extends ch.qos.logback.core.spi.DeferredProcessingAware>
-
getCopyOfAttachedFiltersList
public List<ch.qos.logback.core.filter.Filter<E>> getCopyOfAttachedFiltersList()
- Specified by:
getCopyOfAttachedFiltersListin interfacech.qos.logback.core.spi.FilterAttachable<E extends ch.qos.logback.core.spi.DeferredProcessingAware>
-
getFilterChainDecision
public ch.qos.logback.core.spi.FilterReply getFilterChainDecision(E event)
- Specified by:
getFilterChainDecisionin interfacech.qos.logback.core.spi.FilterAttachable<E extends ch.qos.logback.core.spi.DeferredProcessingAware>
-
-