. * */ namespace SP\Log; /** * Class Syslog para envío de mensaje al servicio de syslog * * @package SP\Log */ class Syslog extends AbstractLogger { /** * Logs with an arbitrary level. * * @param mixed $level * @param string $message * @param array $context * @return null */ public function log($level, $message, array $context = array()) { openlog("sysPass", LOG_PID, LOG_LOCAL0); syslog($this->getSyslogLevel($level), $message); closelog(); } /** * Devolver el código de nivel para la syslog * * @param $level string El nivel del mensaje * @return int */ private function getSyslogLevel($level) { switch ($level) { case LogLevel::EMERGENCY: return LOG_EMERG; case LogLevel::ALERT: return LOG_ALERT; case LogLevel::CRITICAL: return LOG_CRIT; case LogLevel::ERROR: return LOG_ERR; case LogLevel::WARNING: return LOG_WARNING; case LogLevel::NOTICE: return LOG_NOTICE; case LogLevel::INFO: return LOG_INFO; case LogLevel::DEBUG: return LOG_DEBUG; } } }