Package org.apache.log4j.rewrite
Class RewriteAppender
java.lang.Object
org.apache.log4j.AppenderSkeleton
org.apache.log4j.rewrite.RewriteAppender
- All Implemented Interfaces:
Appender,AppenderAttachable,OptionHandler,UnrecognizedElementHandler
public class RewriteAppender
extends AppenderSkeleton
implements AppenderAttachable, UnrecognizedElementHandler
This appender forwards a logging request to another appender after possibly rewriting the logging event.
This appender (with the appropriate policy) replaces the MapFilter, PropertyFilter and ReflectionFilter from log4j 1.3.
-
Field Summary
Fields inherited from class org.apache.log4j.AppenderSkeleton
closed, errorHandler, headFilter, layout, name, tailFilter, threshold -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAppender(Appender newAppender) Add appender.protected voidappend(LoggingEvent event) Subclasses ofAppenderSkeletonshould implement this method to perform actual logging.voidclose()Close thisAsyncAppenderby interrupting the dispatcher thread which will process all pending events before exiting.Get iterator over attached appenders.getAppender(String name) Get appender by name.booleanisAttached(Appender appender) Determines if specified appender is attached.booleanparseUnrecognizedElement(Element element, Properties props) Called to inform a configured object when an unrecognized child element is encountered.voidRemoves and closes all attached appenders.voidremoveAppender(String name) Remove appender by name.voidremoveAppender(Appender appender) Removes an appender.booleanConfigurators call this method to determine if the appender requires a layout.voidsetRewritePolicy(RewritePolicy rewritePolicy) Methods inherited from class org.apache.log4j.AppenderSkeleton
activateOptions, addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThreshold
-
Constructor Details
-
RewriteAppender
public RewriteAppender()
-
-
Method Details
-
append
Subclasses ofAppenderSkeletonshould implement this method to perform actual logging. See alsoAppenderSkeleton.doAppendmethod.- Specified by:
appendin classAppenderSkeleton
-
addAppender
Add appender.- Specified by:
addAppenderin interfaceAppenderAttachable- Parameters:
newAppender- appender to add, may not be null.
-
getAllAppenders
Get iterator over attached appenders.- Specified by:
getAllAppendersin interfaceAppenderAttachable- Returns:
- iterator or null if no attached appenders.
-
getAppender
Get appender by name.- Specified by:
getAppenderin interfaceAppenderAttachable- Parameters:
name- name, may not be null.- Returns:
- matching appender or null.
-
close
public void close()Close thisAsyncAppenderby interrupting the dispatcher thread which will process all pending events before exiting. -
isAttached
Determines if specified appender is attached.- Specified by:
isAttachedin interfaceAppenderAttachable- Parameters:
appender- appender.- Returns:
- true if attached.
-
requiresLayout
public boolean requiresLayout()Configurators call this method to determine if the appender requires a layout. If this method returnstrue, meaning that layout is required, then the configurator will configure an layout using the configuration information at its disposal. If this method returnsfalse, meaning that a layout is not required, then layout configuration will be skipped even if there is available layout configuration information at the disposal of the configurator..In the rather exceptional case, where the appender implementation admits a layout but can also work without it, then the appender should return
true.- Specified by:
requiresLayoutin interfaceAppender
-
removeAllAppenders
public void removeAllAppenders()Removes and closes all attached appenders.- Specified by:
removeAllAppendersin interfaceAppenderAttachable
-
removeAppender
Removes an appender.- Specified by:
removeAppenderin interfaceAppenderAttachable- Parameters:
appender- appender to remove.
-
removeAppender
Remove appender by name.- Specified by:
removeAppenderin interfaceAppenderAttachable- Parameters:
name- name.
-
setRewritePolicy
-
parseUnrecognizedElement
Called to inform a configured object when an unrecognized child element is encountered.- Specified by:
parseUnrecognizedElementin interfaceUnrecognizedElementHandler- Parameters:
element- element, may not be null.props- properties in force, may be null.- Returns:
- true if configured object recognized the element
- Throws:
Exception- throw an exception to prevent activation of the configured object.
-