Package ch.qos.logback.core

# Class UnsynchronizedAppenderBase<E>

java.lang.Object
ch.qos.logback.core.spi.ContextAwareBase
ch.qos.logback.core.UnsynchronizedAppenderBase<E>

All Implemented Interfaces:
  `Appender<E>`, `ContextAware`, `FilterAttachable<E>`, `LifeCycle`

Direct Known Subclasses:
  `AsyncAppenderBase`, `OutputStreamAppender`

public abstract class UnsynchronizedAppenderBase<E> extends ContextAwareBase implements Appender<E>
Similar to AppenderBase except that derived appenders need to handle thread synchronization on their own.

Author:
  Ceki Gülcü, Ralph Goers

## Field Summary

Fields
Modifier and Type
Field
Description
`protected String`
`name`
Appenders are named.
`protected boolean`
`started`

### Fields inherited from class ch.qos.logback.core.spi.ContextAwareBase

`context`

## Constructor Summary

Constructors
Constructor
Description
`UnsynchronizedAppenderBase()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addFilter(Filter<E> newFilter)`
Add a filter.
`protected abstract void`
`append(E eventObject)`
`void`
`clearAllFilters()`
`void`
`doAppend(E eventObject)`
This is where an appender accomplishes its work.
`List<Filter<E>>`
`getCopyOfAttachedFiltersList()`
Get a copy of all the filters contained within this FilterAttachable object.
`FilterReply`
`getFilterChainDecision(E event)`
Loop through the filters in the chain.
`String`
`getName()`
Get the name of this appender.
`boolean`
`isStarted()`
`void`
`setName(String name)`
Set the name of this appender.
`void`
`start()`
`void`
`stop()`
`String`
`toString()`

### Methods inherited from class ch.qos.logback.core.spi.ContextAwareBase

`addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContext`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface ch.qos.logback.core.spi.ContextAware

`addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, setContext`

## Field Details

### started

protected boolean started

### name

protected String name
Appenders are named.

## Constructor Details

### UnsynchronizedAppenderBase

public UnsynchronizedAppenderBase()

## Method Details

### getName

public String getName()
Description copied from interface: `Appender`
Get the name of this appender. The name uniquely identifies the appender.

Specified by:
  `getName` in interface `Appender<E>`

### doAppend

public void doAppend(E eventObject)
Description copied from interface: `Appender`
This is where an appender accomplishes its work. Note that the argument is of type Object.

Specified by:
  `doAppend` in interface `Appender<E>`

### append

protected abstract void append(E eventObject)

### setName

public void setName(String name)
Set the name of this appender.

Specified by:
  `setName` in interface `Appender<E>`

### start

public void start()

Specified by:
  `start` in interface `LifeCycle`

### stop

public void stop()

Specified by:
  `stop` in interface `LifeCycle`

### isStarted

public boolean isStarted()

Specified by:
  `isStarted` in interface `LifeCycle`

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### addFilter

public void addFilter(Filter<E> newFilter)
Description copied from interface: `FilterAttachable`
Add a filter.

Specified by:
  `addFilter` in interface `FilterAttachable<E>`

### clearAllFilters

public void clearAllFilters()

Specified by:
  `clearAllFilters` in interface `FilterAttachable<E>`

### getCopyOfAttachedFiltersList

public List<Filter<E>> getCopyOfAttachedFiltersList()
Description copied from interface: `FilterAttachable`
Get a copy of all the filters contained within this FilterAttachable object.

Specified by:
  `getCopyOfAttachedFiltersList` in interface `FilterAttachable<E>`
Returns:
  all attached filters as a list

### getFilterChainDecision

public FilterReply getFilterChainDecision(E event)
Description copied from interface: `FilterAttachable`
Loop through the filters in the chain. As soon as a filter decides on ACCEPT or DENY, then that value is returned. If all of the filters return NEUTRAL, then NEUTRAL is returned.

Specified by:
  `getFilterChainDecision` in interface `FilterAttachable<E>`