function error($msg, $section = 'bors', $trace = false, $extra = array())
	{
		static $entered = false;
		if($entered)
			throw new Exception('Reentered logger with '.$msg.' in section '.$section);

		$entered = true;

		try
		{
			$this->logger($section, Logger::ERROR, $trace)->addError($msg, $extra);
		}
		catch(Exception $e)
		{
			echo "Exception while error logging:\n<code><xmp>".$e->getMessage()."</xmp></code>\nFirst error is:\n<xmp>$msg\nin".bors_debug::trace()."</xmp>";
		}

		$entered = false;
	}
function error($msg, $section = 'bors', $trace = false, $extra = array())
	{
		static $entered = false;
		if($entered)
			throw new Exception('Reentered logger with '.$msg.' in section '.$section);

		$entered = true;

		try
		{
			$this->logger($section, Logger::ERROR, $trace)->addError($msg, $extra);
		}
		catch(Exception $e)
		{
			echo "Exception while error logging:\n<code><xmp>".$e->getMessage()."</xmp></code>\nFirst error is:\n<xmp>$msg\nin".bors_debug::trace()."</xmp>";
		}

		$entered = false;
	}
function error ( $ msg , $ section = 'bors' , $ trace = false , $ extra = array ( ) ) { static $ entered = false ; if ( $ entered ) throw new Exception ( 'Reentered logger with ' . $ msg . ' in section ' . $ section ) ; $ entered = true ; try { $ this -> logger ( $ section , Logger :: ERROR , $ trace ) -> addError ( $ msg , $ extra ) ; } catch ( Exception $ e ) { echo "Exception while error logging:\n<code><xmp>" . $ e -> getMessage ( ) . "</xmp></code>\nFirst error is:\n<xmp>$msg\nin" . bors_debug :: trace ( ) . "</xmp>" ; } $ entered = false ; }
should typically be logged and monitored.
should typically be logged and monitored .