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();
}