<?php
/**
* This is a log4php usage example file
*
*/
/**
* Set LOG4PHP_DIR to Your log4php root dir or it will
* be set automatically at the first require_once().
* Here 'log4php' is an 'include_path' subdir.
*/
define('LOG4PHP_DIR', 'log4php');
/*
1. If you want to use a custom Configurator,
set the LOG4PHP_CONFIGURATOR_CLASS constants to Your Configurator class file.
The class name must have the same base name of the classfile.
Ex: define('LOG4PHP_CONFIGURATOR_CLASS', '/my/path/LoggerMyConfigurator');
Log4php will try to include '/my/path/LoggerMyConfigurator.php'
and instantiate a 'LoggerMyConfigurator' class.
2. If you want to use a configuration file that's not the default,
set the LOG4PHP_CONFIGURATION constants to Your configuration filename.
Ex: define('LOG4PHP_CONFIGURATION', '/my/path/my_config.conf');
Note that if config extension is NOT .xml and LOG4PHP_CONFIGURATOR_CLASS
is not defined, the LoggerPropertyConfigurator will be used.
3. If you want to bypass the initial configuration procedure, set the
'LOG4PHP_DEFAULT_INIT_OVERRIDE' to true.
Ex: define('LOG4PHP_DEFAULT_INIT_OVERRIDE', true);
*/
require_once(LOG4PHP_DIR. '/LoggerManager.php');
/*
Or You can use:
require_once('/my/log4php/path/LoggerManager.php');
and LOG4PHP_DIR will be automatically set to '/my/log4php/path'.
*/
class Test {
var $logger;
function Test()
{
$this->logger =& LoggerManager::getLogger('Test');
}
function testLog()
{
$this->logger->debug('this is a DEBUG log generated by Test::testLog() class');
$this->logger->info('this is an INFO log generated by Test::testLog() class');
$this->logger->warn('this is a WARN log generated by Test::testLog() class');
$this->logger->error('this is an ERROR log generated by Test::testLog() class');
$this->logger->fatal('this is a FATAL log generated by Test::testLog() class');
}
}
class TestTest extends Test {
var $logger;
function TestTest()
{
$this->Test();
$this->logger =& LoggerManager::getLogger('Test.Test');
}
function testLog()
{
LoggerNDC::push('NDC generated by TestTest::testLog()');
$this->logger->debug('this is a DEBUG log generated by TestTest::testLog() class');
$this->logger->info('this is an INFO log generated by TestTest::testLog() class');
$this->logger->warn('this is a WARN log generated by TestTest::testLog() class');
$this>->logger->error('this is an ERROR log generated by TestTest::testLog() class');
$this->logger->fatal('this is a FATAL log generated by TestTest::testLog() class');
LoggerNDC::pop();
}
}
function Bar()
{
$logger =& LoggerManager::getLogger('bar');
/*
note that the message here is an array
*/
$logger->debug(array('one', 'two', 'tree'));
$logger->info('this is an INFO log generated by Bar() function');
$logger->warn('this is a WARN log generated by Bar() function');
$logger->error('this is an ERROR log generated by Bar() function');
$logger->fatal('this is a FATAL log generated by Bar() function');
}
$logger =& LoggerManager::getLogger('main');
$logger->debug('this is a DEBUG log generated by main() function');
$logger->info('this is an INFO log generated by main() function');
$logger->warn('this is a WARN log generated by main() function');
$logger->error('this is an ERROR log generated by main() function');
$logger->fatal('this is a FATAL log generated by main() function')
$test = new Test();
$test->testLog();
$testTest = new TestTest();
$testTest->testLog();
Bar();
?>