<?php
// include the pear class.
require_once 'Log.php';
 
// FILE
touch('./out.log');
$loggerFile = &Log::singleton('file', 
                              './out.log', 
                              'TEST');
 
// DISPLAY
$confDisplay = array('error_prepend' 
                  => '<font color="#ff0000"><tt>',
                     'error_append'  
                  => '</tt></font>');
$loggerDisplay = &Log::singleton('display', 
                                 '', 
                                 '', 
                                 $confDisplay, 
                                 PEAR_LOG_DEBUG);
 
// Null
$loggerNull = &Log::singleton('null');
 
// FIREBUG
$loggerFirebug = &Log::singleton('firebug', 
                                 '', 
                                 'PHP', 
                                 array('buffering' => true),
                                 PEAR_LOG_DEBUG);
// error_log
 
$loggerErrorLog = &Log::singleton('error_log', 
                                  PEAR_LOG_TYPE_SYSTEM, 
                                  'ident');
 
// MAIL
$confMail = array('subject' => 'Important Log Events');
$loggerMail = &Log::singleton('mail', 
                              'webmaster@example.com', 
                              'ident', 
                              $confMail);
 
// Windows
$confWindows = array('title' => 'Sample Log Output');
$loggerWindows = &Log::singleton('win', 
                                 'LogWindow', 
                                 'ident', 
                                 $confWindows);
 
// sql
$confSQL = array('dsn' => 'mysql://root@localhost/logs');
$loggerSQL = &Log::singleton('sql', 
                             'log_table', 
                             'ident', 
                             $confSQL);
 
 
/* Creating a new database connection. */
$confSQLite1 = array('filename'   => 'c:\var\log.db', 
                     'mode'       => 0666, 
                     'persistent' => true);
$loggerSQLite1 =& Log::factory('sqlite', 
                               'log_table', 
                               'ident', 
                               $confSQLite1);
$loggerSQLite1->log('logging an event' . __LINE__ , PEAR_LOG_WARNING);
 
/* Using an existing database connection. */
 
unset($error);
$db = sqlite_open('c:\var\log.db', 0666, $error);
$loggerSQLite2 =& Log::factory('sqlite', 'log_table', 'ident', $db);
$loggerSQLite2->log('logging an event ' . __LINE__ , PEAR_LOG_WARNING);
Ajoute les messages dans la table sqlite désignée
 
sqlite_close($db);
 
 
$composite = &Log::singleton('composite');
 
//$composite->addChild($console);
$composite->addChild($loggerFile);
$composite->addChild($loggerDisplay);
$composite->addChild($loggerWindows);
$composite->addChild($loggerSQL);
$composite->addChild($loggerNull);
$composite->addChild($loggerFirebug);
$composite->addChild($loggerErrorLog);
$composite->addChild($loggerMail);
$composite->log('This event will be logged to both handlers.' . date('c'));
 
 
$loggerWindows->log('This event will be logged only on Popup.');
// ouvre un popup et affiche tous les messages
 
 
$loggerFile->log('This event will be logged only to File.');
//Stocke  les messages dans un fichier
 
 
$loggerDisplay->log('This event will be logged only to Display.');
//Affiche les messages dans le flux html 
 
 
$loggerNull->log('This event will be logged only into the FIELDS OF THE NEPHILIM.');
//ne fait rien <img src="/blog/themes/travelogue/smilies/smile.gif" alt=":-)" class="smiley" />
 
 
$loggerFirebug->log('This event will be logged only to FireBug.');
// Liste les messages dans FireBug http://extensions.geckozone.org/FireBug
 
$loggerMail->log('This event will be logged only by mail.');
// tente d'envoyer un mail (dans mons cas sans smtp ca n'a pas marché)
 
?>