Source for file Log.php

Documentation is available at Log.php

  1. <?php
  2. /**
  3.  * OpenID_Observer_Log
  4.  * 
  5.  * PHP Version 5.2.0+
  6.  * 
  7.  * @uses      OpenID_Observer_Common
  8.  * @category  Auth
  9.  * @package   OpenID
  10.  * @author    Bill Shupp <hostmaster@shupp.org>
  11.  * @copyright 2009 Bill Shupp
  12.  * @license   http://www.opensource.org/licenses/bsd-license.php FreeBSD
  13.  * @link      http://pearopenid.googlecode.com
  14.  */
  15.  
  16. /**
  17.  * Required files
  18.  */
  19. require_once 'OpenID/Observer/Common.php';
  20. require_once 'Log.php';
  21.  
  22. /**
  23.  * An observer based on PEAR's Log package.  You may either pass in your own Log
  24.  * instance to the constructor, or allow the default file driver to write to
  25.  * /tmp/OpenID_Observer_Log.log by default.
  26.  *
  27.  * @uses      OpenID_Observer_Common
  28.  * @category  Auth
  29.  * @package   OpenID
  30.  * @author    Bill Shupp <hostmaster@shupp.org>
  31.  * @copyright 2009 Bill Shupp
  32.  * @license   http://www.opensource.org/licenses/bsd-license.php FreeBSD
  33.  * @link      http://pearopenid.googlecode.com
  34.  */
  35. {
  36.     /**
  37.      * Holds the instance of Log
  38.      * 
  39.      * @var Log 
  40.      */
  41.     protected $log = null;
  42.  
  43.     /**
  44.      * Allows you to pass in a Log instance and an array of events to log.  If
  45.      * no instance of Log is given, the 'file' Log driver will be used, and write to
  46.      * /tmp/OpenID_Observer_Log.log.
  47.      * 
  48.      * @param Log   $log    Instance of Log, optional
  49.      * @param array $events Custom list of events to log
  50.      * 
  51.      * @return void 
  52.      */
  53.     public function __construct(Log $log nullarray $events array())
  54.     {
  55.         if (count($events)) {
  56.             $this->setEvents($events);
  57.         }
  58.  
  59.         if (!$log instanceof Log{
  60.             $log Log::factory('file''/tmp/' . __CLASS__ . '.log');
  61.         }
  62.         $this->log = $log;
  63.     }
  64.  
  65.     /**
  66.      * Logs the event
  67.      * 
  68.      * @param array $event Array containing 'name' and 'data' keys
  69.      * 
  70.      * @return void 
  71.      */
  72.     public function update(array $event)
  73.     {
  74.         if (!in_array($event['name']$this->events)) {
  75.             return;
  76.         }
  77.         $this->log->log($event['name'":\n");
  78.         $this->log->log($event['data']);
  79.     }
  80. }
  81. ?>

Documentation generated on Tue, 15 Dec 2009 19:00:54 -0800 by phpDocumentor 1.4.3