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 Constructor Description RewriteAppender()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAppender(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.java.util.EnumerationgetAllAppenders()Get iterator over attached appenders.AppendergetAppender(java.lang.String name)Get appender by name.booleanisAttached(Appender appender)Determines if specified appender is attached.booleanparseUnrecognizedElement(org.w3c.dom.Element element, java.util.Properties props)Called to inform a configured object when an unrecognized child element is encountered.voidremoveAllAppenders()Removes and closes all attached appenders.voidremoveAppender(java.lang.String name)Remove appender by name.voidremoveAppender(Appender appender)Removes an appender.booleanrequiresLayout()Configurators 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
-
-
-
-
Method Detail
-
append
protected void append(LoggingEvent event)
Subclasses ofAppenderSkeletonshould implement this method to perform actual logging. See alsoAppenderSkeleton.doAppendmethod.- Specified by:
appendin classAppenderSkeleton
-
addAppender
public void addAppender(Appender newAppender)
Add appender.- Specified by:
addAppenderin interfaceAppenderAttachable- Parameters:
newAppender- appender to add, may not be null.
-
getAllAppenders
public java.util.Enumeration getAllAppenders()
Get iterator over attached appenders.- Specified by:
getAllAppendersin interfaceAppenderAttachable- Returns:
- iterator or null if no attached appenders.
-
getAppender
public Appender getAppender(java.lang.String name)
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
public boolean isAttached(Appender appender)
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
public void removeAppender(Appender appender)
Removes an appender.- Specified by:
removeAppenderin interfaceAppenderAttachable- Parameters:
appender- appender to remove.
-
removeAppender
public void removeAppender(java.lang.String name)
Remove appender by name.- Specified by:
removeAppenderin interfaceAppenderAttachable- Parameters:
name- name.
-
setRewritePolicy
public void setRewritePolicy(RewritePolicy rewritePolicy)
-
parseUnrecognizedElement
public boolean parseUnrecognizedElement(org.w3c.dom.Element element, java.util.Properties props) throws java.lang.ExceptionCalled 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:
java.lang.Exception- throw an exception to prevent activation of the configured object.
-
-