| 
									
										
										
										
											2011-11-21 19:14:49 +04:00
										 |  |  | <?php | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @copyright NetMonsters <team@netmonsters.ru> | 
					
						
							|  |  |  |  * @link http://netmonsters.ru | 
					
						
							|  |  |  |  * @package Majestic | 
					
						
							|  |  |  |  * @subpackage Logger | 
					
						
							|  |  |  |  * @since 21-11-2011 | 
					
						
							|  |  |  |  * @user: agrebnev | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | abstract class Logger | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     protected static $_instance = null; | 
					
						
							| 
									
										
										
										
											2012-03-22 16:03:55 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-21 19:14:49 +04:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * pid текущего процесса | 
					
						
							|  |  |  |      * @var string | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     protected $pid = ''; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-03-22 16:03:55 +04:00
										 |  |  |     protected function __construct() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2011-11-21 19:14:49 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-03-22 16:03:55 +04:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * @static | 
					
						
							|  |  |  |      * @return Logger | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2011-11-21 19:14:49 +04:00
										 |  |  |     public static function getInstance() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2012-03-22 16:03:55 +04:00
										 |  |  |         if (static::$_instance === null) { | 
					
						
							| 
									
										
										
										
											2011-11-21 19:14:49 +04:00
										 |  |  |             //$class = get_called_class();
 | 
					
						
							|  |  |  |             $class = Config::get('Logger')->logger; | 
					
						
							|  |  |  |             static::$_instance = new $class(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         return static::$_instance; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2012-03-22 16:03:55 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-21 19:14:49 +04:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Вывод лога | 
					
						
							|  |  |  |      * @param string $message Сообщение | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     public function log($message) | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2012-06-27 17:56:06 +04:00
										 |  |  |         if (Config::get('LOGGING')) { | 
					
						
							| 
									
										
										
										
											2011-11-21 19:14:49 +04:00
										 |  |  |             $this->concreteLog($message); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Установить pid текущего процесса для вывода в лог | 
					
						
							|  |  |  |      * @param int $pid | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     public function setPid($pid) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         if (!empty($pid)) { | 
					
						
							|  |  |  |             $this->pid = ' <' . $pid . '> '; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     abstract protected function concreteLog($message); | 
					
						
							|  |  |  | } |