0

我想创建多个记录器,我的应用程序的不同区域将记录到不同的文件。例如,与获取用户数据相关的所有类都将记录到 user.log,进行购买的所有功能都将记录到 purchase.log。我正在使用配置数组方法来设置记录器和附加程序。在我的 index.php 中:

require_once('log4php/Logger.php');
require_once('classB.php');
require_once('classA.php');

 Logger::configure(array(
'rootLogger' => array('appenders' => array('default')),
'classALogger' => array('appenders' => array('classAAppender')),
'appenders' => array(
    'default' => array(
        'class' => 'LoggerAppenderEcho',
        'layout' => array(
            'class' => 'LoggerLayoutSimple'
            )
    ),'classAAppender' => array(
        'class' => 'LoggerAppenderFile',
        'additivity' => false,
        'layout' => array(
            'class' => 'LoggerLayoutSimple'
        ),
        'params' => array(
            'file' => 'log/classA.log',
            'append' => true
        )
    )
),

));

$logger = Logger::getLogger("main");
$logger->info('message from index' . '<br>');

$classA = new ClassA();
$classA->test();

A类如下:

class ClassA
{   
    public function test()
    {
        $logger = Logger::getLogger("classALogger");

        $logger->error('from ClassA');
    }
}

我能够登录到默认记录器或根记录器,但无法登录到,在本例中,classALogger。有什么建议么?

4

0 回答 0