Custom Magento Module Log

PHP errors and messages from other modules can clutter up your tail -f when debugging, and sometimes it’s just nice to have separate logs to the main system.

Set up your own log adapter with:

<?php

$my_log = Mage::getModel('core/log_adapter', 'my_module.log');

and log away!

<?php

$my_log->log($message);

Extra points for wrapping it up in a class:

<?php

class Nick_Module_Model_Log {
  protected $_adapter;

  public __construct() {
    $this->_adapter = Mage::getModel('core/log_adapter', 'my_module.log');
  }

  // It's public incase we want to use ->debug(), ->info(), and friends
  public function getAdapter() {
    return $this->_adapter;
  }

  public function log($message) {
    $this->getAdapter()->log($message);
  }
}

$my_log = Mage::getSingleton('nick/log');
$my_log->log("Logging away!");