org.x4juli.handlers.rolling
Class FilterBasedTriggeringPolicy

java.lang.Object
  extended byorg.x4juli.global.components.AbstractComponent
      extended byorg.x4juli.handlers.rolling.FilterBasedTriggeringPolicy
All Implemented Interfaces:
Component, OptionHandler, TriggeringPolicy

public final class FilterBasedTriggeringPolicy
extends AbstractComponent
implements TriggeringPolicy

FilterBasedTriggeringPolicy determines if rolling should be triggered by evaluating the current message against a set of filters. Unless a filter rejects a message, a rolling event will be triggered.

Logging API as a whole was originally done for Apache log4j. Juli is a port of main parts of that to complete the Java Logging APIs. All credits for initial idea, design, implementation, documentation belong to the log4j crew. This file was originally published by Curt Arnold. Please use exclusively the appropriate mailing lists for questions, remarks and contribution.

Since:
0.5
Author:
Boris Unckel

Field Summary
private  ExtendedFilter headFilter
          The first filter in the filter chain.
private  ExtendedFilter tailFilter
          The last filter in the filter chain.
 
Fields inherited from class org.x4juli.global.components.AbstractComponent
manager, repository
 
Constructor Summary
FilterBasedTriggeringPolicy()
          Creates a new FilterBasedTriggeringPolicy.
 
Method Summary
 void activateOptions()
          Activate the options that were previously set with calls to option setters.

This allows to defer activiation of the options until all options have been set. This is required for components which have related options that remain ambigous until all are set.

 void addFilter(ExtendedFilter newFilter)
          Add a filter to end of the filter list.
 void clearFilters()
          Clear the filters chain.
 ExtendedFilter getFilter()
          Returns the head Filter.
 boolean isTriggeringEvent(java.util.logging.Handler handler, ExtendedLogRecord record, java.lang.String filename, long fileLength)
          Determines if a rollover may be appropriate at this time. If true is returned, RolloverPolicy.rollover will be called but it can determine that a rollover is not warranted.
 
Methods inherited from class org.x4juli.global.components.AbstractComponent
getLogger, getLoggerRepository, getMessageProperties, getNonFloodingLogger, getProperty, getProperty, getProperty, getProperty, resetErrorCount, setObjectStore
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

headFilter

private ExtendedFilter headFilter
The first filter in the filter chain. Set to null initially.


tailFilter

private ExtendedFilter tailFilter
The last filter in the filter chain.

Constructor Detail

FilterBasedTriggeringPolicy

public FilterBasedTriggeringPolicy()
Creates a new FilterBasedTriggeringPolicy.

Method Detail

isTriggeringEvent

public boolean isTriggeringEvent(java.util.logging.Handler handler,
                                 ExtendedLogRecord record,
                                 java.lang.String filename,
                                 long fileLength)
Determines if a rollover may be appropriate at this time. If true is returned, RolloverPolicy.rollover will be called but it can determine that a rollover is not warranted.

Specified by:
isTriggeringEvent in interface TriggeringPolicy
Parameters:
handler - A reference to the handler.
record - A reference to the current record.
filename - The filename for the currently active log file.
fileLength - Length of the file in bytes.
Returns:
true if a rollover should occur.
Since:
0.5

activateOptions

public void activateOptions()
Activate the options that were previously set with calls to option setters.

This allows to defer activiation of the options until all options have been set. This is required for components which have related options that remain ambigous until all are set.

Specified by:
activateOptions in interface OptionHandler
Since:
0.5

addFilter

public void addFilter(ExtendedFilter newFilter)
Add a filter to end of the filter list.

Parameters:
newFilter - filter to add to end of list.

clearFilters

public void clearFilters()
Clear the filters chain.


getFilter

public ExtendedFilter getFilter()
Returns the head Filter.

Returns:
head of filter chain, may be null.


${license_html}