public function getLocationInformation() {
		if($this->locationInfo === null) {

			$locationInfo = array();
			$trace = debug_backtrace();
			$prevHop = null;
			// make a downsearch to identify the caller
			$hop = array_pop($trace);
			while($hop !== null) {
				if(isset($hop['class'])) {
					// we are sometimes in functions = no class available: avoid php warning here
					$className = strtolower($hop['class']);
					if(!empty($className) and ($className == 'logger' or 
						strtolower(get_parent_class($className)) == 'logger')) {
						$locationInfo['line'] = $hop['line'];
						$locationInfo['file'] = $hop['file'];
						break;
					}
				}
				$prevHop = $hop;
				$hop = array_pop($trace);
			}
			$locationInfo['class'] = isset($prevHop['class']) ? $prevHop['class'] : 'main';
			if(isset($prevHop['function']) and
				$prevHop['function'] !== 'include' and
				$prevHop['function'] !== 'include_once' and
				$prevHop['function'] !== 'require' and
				$prevHop['function'] !== 'require_once') {

				$locationInfo['function'] = $prevHop['function'];
			} else {
				$locationInfo['function'] = 'main';
			}
					 
			$this->locationInfo = new LoggerLocationInfo($locationInfo, $this->fqcn);
		}
		return $this->locationInfo;
	}
public function getLocationInformation() {
		if($this->locationInfo === null) {

			$locationInfo = array();
			$trace = debug_backtrace();
			$prevHop = null;
			// make a downsearch to identify the caller
			$hop = array_pop($trace);
			while($hop !== null) {
				if(isset($hop['class'])) {
					// we are sometimes in functions = no class available: avoid php warning here
					$className = strtolower($hop['class']);
					if(!empty($className) and ($className == 'logger' or 
						strtolower(get_parent_class($className)) == 'logger')) {
						$locationInfo['line'] = $hop['line'];
						$locationInfo['file'] = $hop['file'];
						break;
					}
				}
				$prevHop = $hop;
				$hop = array_pop($trace);
			}
			$locationInfo['class'] = isset($prevHop['class']) ? $prevHop['class'] : 'main';
			if(isset($prevHop['function']) and
				$prevHop['function'] !== 'include' and
				$prevHop['function'] !== 'include_once' and
				$prevHop['function'] !== 'require' and
				$prevHop['function'] !== 'require_once') {

				$locationInfo['function'] = $prevHop['function'];
			} else {
				$locationInfo['function'] = 'main';
			}
					 
			$this->locationInfo = new LoggerLocationInfo($locationInfo, $this->fqcn);
		}
		return $this->locationInfo;
	}
public function getLocationInformation ( ) { if ( $ this -> locationInfo === null ) { $ locationInfo = array ( ) ; $ trace = debug_backtrace ( ) ; $ prevHop = null ; // make a downsearch to identify the caller
 $ hop = array_pop ( $ trace ) ; while ( $ hop !== null ) { if ( isset ( $ hop [ 'class' ] ) ) { // we are sometimes in functions = no class available: avoid php warning here
 $ className = strtolower ( $ hop [ 'class' ] ) ; if ( ! empty ( $ className ) and ( $ className == 'logger' or strtolower ( get_parent_class ( $ className ) ) == 'logger' ) ) { $ locationInfo [ 'line' ] = $ hop [ 'line' ] ; $ locationInfo [ 'file' ] = $ hop [ 'file' ] ; break ; } } $ prevHop = $ hop ; $ hop = array_pop ( $ trace ) ; } $ locationInfo [ 'class' ] = isset ( $ prevHop [ 'class' ] ) ? $ prevHop [ 'class' ] : 'main' ; if ( isset ( $ prevHop [ 'function' ] ) and $ prevHop [ 'function' ] !== 'include' and $ prevHop [ 'function' ] !== 'include_once' and $ prevHop [ 'function' ] !== 'require' and $ prevHop [ 'function' ] !== 'require_once' ) { $ locationInfo [ 'function' ] = $ prevHop [ 'function' ] ; } else { $ locationInfo [ 'function' ] = 'main' ; } $ this -> locationInfo = new LoggerLocationInfo ( $ locationInfo , $ this -> fqcn ) ; } return $ this -> locationInfo ; }
Set the location information for this logging event. The collected
information is cached for future use.

<p>This method uses {@link PHP_MANUAL#debug_backtrace debug_backtrace()} function (if exists)
to collect informations about caller.</p>
<p>It only recognize informations generated by {@link Logger} and its subclasses.</p>
@return LoggerLocationInfo
Set the location information for this logging event . The collected information is cached for future use .