private function parseAppender($key, $value) {

		// Remove the appender prefix from key
		$subKey = substr($key, strlen(self::APPENDER_PREFIX));
		
		// Divide the string by dots
		$parts = explode('.', $subKey);
		$count = count($parts);
		
		// The first part is always the appender name
		$name = trim($parts[0]);
		
		// Only one part - this line defines the appender class 
		if ($count == 1) {
			$this->config['appenders'][$name]['class'] = $value;
			return;
		}
		
		// Two parts - either a parameter, a threshold or layout class
		else if ($count == 2) {
			
			if ($parts[1] == 'layout') {
				$this->config['appenders'][$name]['layout']['class'] = $value;
				return;
			} else if ($parts[1] == 'threshold') {
				$this->config['appenders'][$name]['threshold'] = $value;
				return;
			} else {
				$this->config['appenders'][$name]['params'][$parts[1]] = $value;
				return;
			}
		}
		
		// Three parts - this can only be a layout parameter
		else if ($count == 3) {
			if ($parts[1] == 'layout') {
				$this->config['appenders'][$name]['layout']['params'][$parts[2]] = $value;
				return;
			}
		}
		
		trigger_error("log4php: Don't know how to parse the following line: \"$key = $value\". Skipping.");
	}
private function parseAppender($key, $value) {

		// Remove the appender prefix from key
		$subKey = substr($key, strlen(self::APPENDER_PREFIX));
		
		// Divide the string by dots
		$parts = explode('.', $subKey);
		$count = count($parts);
		
		// The first part is always the appender name
		$name = trim($parts[0]);
		
		// Only one part - this line defines the appender class 
		if ($count == 1) {
			$this->config['appenders'][$name]['class'] = $value;
			return;
		}
		
		// Two parts - either a parameter, a threshold or layout class
		else if ($count == 2) {
			
			if ($parts[1] == 'layout') {
				$this->config['appenders'][$name]['layout']['class'] = $value;
				return;
			} else if ($parts[1] == 'threshold') {
				$this->config['appenders'][$name]['threshold'] = $value;
				return;
			} else {
				$this->config['appenders'][$name]['params'][$parts[1]] = $value;
				return;
			}
		}
		
		// Three parts - this can only be a layout parameter
		else if ($count == 3) {
			if ($parts[1] == 'layout') {
				$this->config['appenders'][$name]['layout']['params'][$parts[2]] = $value;
				return;
			}
		}
		
		trigger_error("log4php: Don't know how to parse the following line: \"$key = $value\". Skipping.");
	}
private function parseAppender ( $ key , $ value ) { // Remove the appender prefix from key
 $ subKey = substr ( $ key , strlen ( self :: APPENDER_PREFIX ) ) ; // Divide the string by dots
 $ parts = explode ( '.' , $ subKey ) ; $ count = count ( $ parts ) ; // The first part is always the appender name
 $ name = trim ( $ parts [ 0 ] ) ; // Only one part - this line defines the appender class 
 if ( $ count == 1 ) { $ this -> config [ 'appenders' ] [ $ name ] [ 'class' ] = $ value ; return ; } // Two parts - either a parameter, a threshold or layout class
 else if ( $ count == 2 ) { if ( $ parts [ 1 ] == 'layout' ) { $ this -> config [ 'appenders' ] [ $ name ] [ 'layout' ] [ 'class' ] = $ value ; return ; } else if ( $ parts [ 1 ] == 'threshold' ) { $ this -> config [ 'appenders' ] [ $ name ] [ 'threshold' ] = $ value ; return ; } else { $ this -> config [ 'appenders' ] [ $ name ] [ 'params' ] [ $ parts [ 1 ] ] = $ value ; return ; } } // Three parts - this can only be a layout parameter
 else if ( $ count == 3 ) { if ( $ parts [ 1 ] == 'layout' ) { $ this -> config [ 'appenders' ] [ $ name ] [ 'layout' ] [ 'params' ] [ $ parts [ 2 ] ] = $ value ; return ; } } trigger_error ( "log4php: Don't know how to parse the following line: \"$key = $value\". Skipping." ) ; }
Parses an configuration line pertaining to an appender.

Parses the following patterns:

Appender class:
<pre>
log4php.appender.<name> = <class>
</pre>

Appender parameter:
<pre>
log4php.appender.<name>.<param> = <value>
</pre>

Appender threshold:
<pre>
log4php.appender.<name>.threshold = <level>
</pre>

Appender layout:
<pre>
log4php.appender.<name>.layout = <layoutClass>
</pre>

Layout parameter:
<pre>
log4php.appender.<name>.layout.<param> = <value>
</pre>

For example, a full appender config might look like:
<pre>
log4php.appender.myAppender = LoggerAppenderConsole
log4php.appender.myAppender.threshold = info
log4php.appender.myAppender.target = stdout
log4php.appender.myAppender.layout = LoggerLayoutPattern
log4php.appender.myAppender.layout.conversionPattern = "%d %c: %m%n"
</pre>

After parsing all these options, the following configuration can be
found under $this->config['appenders']['myAppender']:
<pre>
array(
'class' => LoggerAppenderConsole,
'threshold' => info,
'params' => array(
'target' => 'stdout'
),
'layout' => array(
'class' => 'LoggerAppenderConsole',
'params' => array(
'conversionPattern' => '%d %c: %m%n'
)
)
)
</pre>

@param string $key
@param string $value
Parses an configuration line pertaining to an appender .