0

I am a new user of zend framework - 2, I am trying to use Logger function for my website can any one help me with this problem.

Please help me out with loggin the IP and TIMESTAMP aswell.

I have added these code to my IndexController.php

use Zend\Log\Logger;
use Zend\Log\Writer\AbstractWriter;
use Zend\Log\Filter\FilterInterface;
use Zend\Log\Formatter\FormatterInterface;
use Zend\Log\Writer\Stream;

Then in my indexAction I am using

    $writer = new Zend\Log\Writer\Stream('php://output');
    $formatter = new Zend\Log\Formatter\Simple('%timestamp% %message%' . PHP_EOL);
    $writer->setFormatter($formatter);
    $logger = new Zend\Log\Logger();
    $logger->addWriter($writer);
    $logger->info('Informational message');

But I am getting this error

Fatal error: Class 'Application\Controller\Zend\Log\Writer\Stream' not found

And if possible help me out with writing a seprate module to export all the database entry to excel. Thank you

4

2 回答 2

3

你应该知道PHP:namespace

通过use-statement 包含类后,您只需调用 ClassName (CN) 而不是完全限定的 ClassName (FQCN)

话虽如此:

$writer    = new Stream();
$formatter = new Simple();
$logger    = new Logger();

另一种方法是不通过use-statement 包含 Classes 并简单地调用 FQCN

$writer    = new \Zend\Log\Writer\Stream();
$formatter = new \Zend\Log\Formatter\Simple();
$logger    = new \Zend\Log\Logger();

注意前导\反斜杠。

于 2013-04-30T15:49:38.543 回答
1

试试看

$writer = new \Zend\Log\Writer\Stream('php://output');

或者

$writer = new Stream('php://output');
于 2013-04-30T15:47:46.863 回答