org.apache.log.output

Class PriorityFilteringTarget

Implemented Interfaces:
Closeable, ErrorAware, LogTarget

public class PriorityFilteringTarget
extends AbstractTarget

This is a priority filtering target that forwards only requests to other (wrapped) targets that have the same or a higher priority.
Author:
Avalon Development Team

Field Summary

private boolean
m_closeWrapped
private Priority
m_priority
private LogTarget[]
m_targets
Log targets in filter chain

Fields inherited from class org.apache.log.output.AbstractTarget

DEFAULT_ERROR_HANDLER, m_errorHandler, m_isOpen

Constructor Summary

PriorityFilteringTarget(Priority priority)
PriorityFilteringTarget(Priority priority, boolean closeWrappedTarget)

Method Summary

void
addTarget(LogTarget target)
Add a new target to output chain.
void
close()
Shutdown target.
protected void
doProcessEvent(LogEvent event)
Process a log event, via formatting and outputting it.

Methods inherited from class org.apache.log.output.AbstractTarget

close, doProcessEvent, getErrorHandler, isOpen, open, processEvent, setErrorHandler

Field Details

m_closeWrapped

private final boolean m_closeWrapped

m_priority

private final Priority m_priority

m_targets

private LogTarget[] m_targets
Log targets in filter chain

Constructor Details

PriorityFilteringTarget

public PriorityFilteringTarget(Priority priority)
Parameters:
priority - The priority used to filter

PriorityFilteringTarget

public PriorityFilteringTarget(Priority priority,
                               boolean closeWrappedTarget)
Parameters:
priority - The priority used to filter
closeWrappedTarget - see AbstractWrappingTarget

Method Details

addTarget

public void addTarget(LogTarget target)
Add a new target to output chain.
Parameters:
target - the target

close

public void close()
Shutdown target. Attempting to write to target after close() will cause errors to be logged.
Specified by:
close in interface Closeable
Overrides:
close in interface AbstractTarget

doProcessEvent

protected void doProcessEvent(LogEvent event)
            throws Exception
Process a log event, via formatting and outputting it. This should be overidden by subclasses.
Overrides:
doProcessEvent in interface AbstractTarget
Parameters:
event - the log event