47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
	namespace WP_Piwik;
 | 
						|
 | 
						|
	abstract class Logger {
 | 
						|
		
 | 
						|
		private $loggerName = 'unnamed';
 | 
						|
		private $loggerContent = array();
 | 
						|
		private $startMicrotime = null;
 | 
						|
		
 | 
						|
		abstract function loggerOutput($loggerTime, $loggerMessage);
 | 
						|
 | 
						|
		public function __construct($loggerName) {
 | 
						|
			$this->setName($loggerName);
 | 
						|
			$this->setStartMicrotime(microtime(true));
 | 
						|
			$this->log('Logging started -------------------------------');
 | 
						|
		}
 | 
						|
				
 | 
						|
		public function __destruct() {
 | 
						|
			$this->log('Logging finished ------------------------------');
 | 
						|
		}
 | 
						|
		
 | 
						|
		public function log($loggerMessage) {
 | 
						|
			$this->loggerOutput($this->getElapsedMicrotime(), $loggerMessage);
 | 
						|
		}
 | 
						|
		
 | 
						|
		private function setName($loggerName) {
 | 
						|
			$this->loggerName = $loggerName;
 | 
						|
		}
 | 
						|
		
 | 
						|
		public function getName() {
 | 
						|
			return $this->loggerName;
 | 
						|
		}
 | 
						|
		
 | 
						|
		private function setStartMicrotime($startMicrotime) {
 | 
						|
			$this->startMicrotime = $startMicrotime;
 | 
						|
		}
 | 
						|
		
 | 
						|
		public function getStartMicrotime() {
 | 
						|
			return $this->startMicrotime;
 | 
						|
		}
 | 
						|
		
 | 
						|
		public function getElapsedMicrotime() {
 | 
						|
			return microtime(true) - $this->getStartMicrotime();
 | 
						|
		}
 | 
						|
		
 | 
						|
	} |