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:

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

and log away!

1
$my_log->log($message);

Extra points for wrapping it up in a class:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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!");