<?php

class Log
{

  function __construct($name='ykval')
  {
    $this->name=$name;
    $this->fields=array();

    $this->LOG_LEVELS = array(LOG_EMERG=>'LOG_EMERG',
			      LOG_ALERT=>'LOG_ALERT',
			      LOG_CRIT=>'LOG_CRIT',
			      LOG_ERR=>'LOG_ERR',
			      LOG_WARNING=>'LOG_WARNING',
			      LOG_NOTICE=>'LOG_NOTICE',
			      LOG_INFO=>'LOG_INFO',
			      LOG_DEBUG=>'LOG_DEBUG');

    openlog("ykval", LOG_PID, LOG_LOCAL0);
  }

  function addField($name, $value)
  {
    $this->fields[$name]=$value;
  }

  function log($priority, $message, $arr=null){
    if (is_array($arr)) {
      foreach($arr as $key=>$value){
	$message.=" $key=$value ";
      }
    }
    # Add fields
    $msg_fields = "";
    foreach ($this->fields as $field=>$value) {
      $msg_fields .= "[" . $value . "] ";
    }
    syslog($priority,
	   $this->LOG_LEVELS[$priority] . ':' .
	   $this->name . ':' .
	   $msg_fields .
	   $message);
  }

}

?>