/** * Store event * * @param array $event * @return void */ protected function _write($event) { // search for ip foreach (self::$ipKeys as $key) { if (!empty($_SERVER[$key])) { $ip = $_SERVER[$key]; break; } } // set user if any if (!isset($event['user'])) { $event['user'] = null; $auth = \Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $event['user'] = $this->em->getReference('Newscoop\\Entity\\User\\Staff', $auth->getIdentity()); } } // create log entity $log = new Log(); $log->setTimeCreated(new DateTime($event['timestamp']))->setText($event['message'])->setPriority($event['priority'])->setClientIP(isset($ip) ? $ip : '')->setUser($event['user']); // store $this->em->persist($log); $this->em->flush(); }