<?php
 
 
/**
 
 * Demo script to put the Logger at work.
 
 * In this script, a handler (with it's exporter) will be added to the logger
 
 * and a event will be generated to see if it caught.
 
 * 
 
 * @author Marius Zadara <[email protected]>
 
 * @category org.zadara.marius.logger.exceptions
 
 * @copyright (C) 2008 Marius Zadara <[email protected]>
 
 * @license GNU GPL
 
 * @package org.zadara.marius.logger
 
 */
 
 
 
// add all the program's prerequisites
 
require '_interfaces/addInterfaces.php';
 
require '_exceptions/addExceptions.php';
 
require '_constants/addConstants.php';
 
require '_classes/addClasses.php';
 
 
 
 
// EVENT EXPORTERS DEFINITIONS ////////////////////////////////////////////////////////////////////
 
 
// event exporter to the console
 
// this exporter will be used in both of the handlers
 
$consoleExporter = new ConsoleExporter();
 
 
 
 
// EVENT HANDLERS DEFINITIONS /////////////////////////////////////////////////////////////////////
 
 
// first event handler - this one will accept all the events that will pass throught the logger 
 
$allEventHandler = new AllEventsHandler();
 
 
// second event handler - this one will accept only high levels events 
 
$highEventLevelHandler = new HighEventLevelHandler();
 
 
 
 
// EVENT EXPORTERS TO HANDLERS ASSOCIATIONS ///////////////////////////////////////////////////////
 
 
// associate the exporter to the first and second exporter
 
// this is done for this demo convenience, but is not mandatory - each handler can have its custom exporter
 
$allEventHandler->setExporter($consoleExporter);
 
$highEventLevelHandler->setExporter($consoleExporter);
 
 
 
// LOGGER DEFINITION //////////////////////////////////////////////////////////////////////////////
 
 
// instanciate the main logger class
 
$logger = new Logger();
 
 
// register all the handlers previously defined
 
$logger->registerHandler($allEventHandler);
 
$logger->registerHandler($highEventLevelHandler);
 
 
 
// simulate the info level event
 
// this event will be caught by the first handler ($allEventHandler) because
 
// this handler accepts all the events, no matter its definition
 
$logger->info("My first event", Sources::$HOME, Categories::$APPLICATION, "Info based event");
 
 
// simulate the sever level event
 
// this event will be accepted by both of the handlers:
 
// > the first because it accepts all the events
 
// > the second because the event levels matches the required
 
$logger->severe("My second event", Sources::$HOME, Categories::$APPLICATION, "Severe event");
 
 
 
?>
 
 |