protected void parseFilters ( Element element , Appender appender ) { String clazz = subst ( element . getAttribute ( CLASS_ATTR ) ) ; Filter filter = ( Filter ) OptionConverter . instantiateByClassName ( clazz , Filter . class , null ) ; if ( filter != null ) { PropertySetter propSetter = new PropertySetter ( filter ) ; NodeList children = element . getChildNodes ( ) ; final int length = children . getLength ( ) ; for ( int loop = 0 ; loop < length ; loop ++ ) { Node currentNode = children . item ( loop ) ; if ( currentNode . getNodeType ( ) == Node . ELEMENT_NODE ) { Element currentElement = ( Element ) currentNode ; String tagName = currentElement . getTagName ( ) ; if ( tagName . equals ( PARAM_TAG ) ) { setParameter ( currentElement , propSetter ) ; } else { quietParseUnrecognizedElement ( filter , currentElement , props ) ; } } } propSetter . activate ( ) ; LogLog . debug ( "Adding filter of type [" + filter . getClass ( ) + "] to appender named [" + appender . getName ( ) + "]." ) ; appender . addFilter ( filter ) ; } }
Used internally to parse a filter element .