hierarchy = Logger::getLoggerRepository(); } function onReceiveData($clientId = 0, $data = "") { $events = $this->getEvents($data); foreach($events as $event) { $root = $this->hierarchy->getRootLogger(); if($event->getLoggerName() === 'root') { $root->callAppenders($event); } else { $loggers = $this->hierarchy->getCurrentLoggers(); foreach($loggers as $logger) { $root->callAppenders($event); $appenders = $logger->getAllAppenders(); foreach($appenders as $appender) { $appender->doAppend($event); } } } } } function getEvents($data) { preg_match('/^(O:\d+)/', $data, $parts); $events = split($parts[1], $data); array_shift($events); $size = count($events); for($i=0; $i<$size; $i++) { $events[$i] = unserialize($parts[1].$events[$i]); } return $events; } } $host = '127.0.0.1'; $port = 9090; //$server =& Net_Server::create('fork', $host, $port); $server =& Net_Server::create('sequential', $host, $port); $handler =& new Net_Server_Handler_Log(); $server->setCallbackObject($handler); $server->start(); ?>