Package org.apache.log.output
Class MemoryTarget
- java.lang.Object
-
- org.apache.log.output.AbstractTarget
-
- org.apache.log.output.MemoryTarget
-
- All Implemented Interfaces:
ErrorAware
,LogTarget
,Closeable
public class MemoryTarget extends AbstractTarget
Output LogEvents into an buffer in memory. At a later stage these LogEvents can be forwarded or pushed to another target. This pushing is triggered when buffer is full, the priority of a LogEvent reaches a threshold or when another class calls the push method. This is based on specification of MemoryHandler in Logging JSR47.
-
-
Field Summary
Fields Modifier and Type Field Description private LogEvent[]
m_buffer
private int
m_index
private boolean
m_overwrite
private LogTarget
m_target
private Priority
m_threshold
private int
m_used
-
Constructor Summary
Constructors Constructor Description MemoryTarget(LogTarget target, int size, Priority threshold)
Creation of a new instance of the memory target.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doProcessEvent(LogEvent event)
Process a log event, via formatting and outputting it.boolean
isFull()
Check if memory buffer is full.void
push()
Push log events to target.protected void
setOverwrite(boolean overwrite)
Set flag indicating whether it is valid to overwrite memory buffer.protected boolean
shouldPush(LogEvent event)
Determine if LogEvent should initiate a push to target.-
Methods inherited from class org.apache.log.output.AbstractTarget
close, getErrorHandler, isOpen, open, processEvent, setErrorHandler
-
-
-
-
Method Detail
-
setOverwrite
protected void setOverwrite(boolean overwrite)
Set flag indicating whether it is valid to overwrite memory buffer.- Parameters:
overwrite
- true if buffer should overwrite logevents in buffer, false otherwise
-
doProcessEvent
protected void doProcessEvent(LogEvent event)
Process a log event, via formatting and outputting it.- Specified by:
doProcessEvent
in classAbstractTarget
- Parameters:
event
- the log event
-
isFull
public final boolean isFull()
Check if memory buffer is full.- Returns:
- true if buffer is full, false otherwise
-
shouldPush
protected boolean shouldPush(LogEvent event)
Determine if LogEvent should initiate a push to target. Subclasses can overide this method to change the conditions under which a push occurs.- Parameters:
event
- the incoming LogEvent- Returns:
- true if should push, false otherwise
-
push
public void push()
Push log events to target.
-
-