多个记录器

时间:2013-12-30 20:19:57

标签: php logging log4php

我想创建多个记录器,我的应用程序的不同区域将记录到不同的文件。例如,与获取用户数据相关联的所有类都将记录到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。有什么建议吗?

0 个答案:

没有答案