PhpRiot
Follow phpriot on Twitter
Sponsored Link
Download Article
Download this article or the entire “Zend Framework 101” series with all listings and files.




More information
Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...


When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store
Free iPad/iPhone App
Available on the App Store

  • PHP manual
  • Zend Framework manual
  • Smarty manual
  • PHP articles
  • PHP training

Zend Framework 101: Zend_Log

Creating Your First Logger

To begin, I'll show you how to create a basic file-system logger. To achieve this we must instantiate the Zend_Log class, then add a writer to this object. We will use a writer that writes log messages to the file system.

The class we use to write log messages to the file system is Zend_Log_Writer_Stream. This class accepts the path where the log messages should be written to as the first argument to the constructor.

Note: The path you use must be writable by the web server.

Listing 1 shows an example of creating the logger and adding the writer to it. You can either add the writer when instantiating Zend_Log (such as new Zend_Log(new Zend_Log_Writer_Stream(...))), or as shown in the following listing.

Listing 1 Creating a logger with a filesystem writer (listing-1.php)
<?php
    require_once('Zend/Log.php');
    require_once('Zend/Log/Writer/Stream.php');
 
    $logger = new Zend_Log();
 
    $writer = new Zend_Log_Writer_Stream('sample.log');
    $logger->addWriter($writer);
 
    $logger->log('sample message!', Zend_Log::INFO);
?>

The above listing concludes by calling the log() method on the Zend_Log object. This records a message to the log. Listing 2 shows an example of how the log file appears after this code is run.

Listing 2 Sample entry in a log file (listing-2.txt)
$ cat sample.log 
2009-04-11T14:47:20+09:00 INFO (6): sample message!

In the next section I'll cover the recording of events in greater detail.

In This Article