I have extended Mage_Cms_IndexController so that I can log my 404 pages. Within that class I have...
public function noRouteAction($coreRoute = null)
{
$this->getResponse()->setHeader('HTTP/1.1','404 Not Found');
$this->getResponse()->setHeader('Status','404 File not found');
//Begin Modification
Mage::log('My log data', null, '404s.log');
//End modification
$pageId = Mage::getStoreConfig(Mage_Cms_Helper_Page::XML_PATH_NO_ROUTE_PAGE);
if (!Mage::helper('cms/page')->renderPage($this, $pageId)) {
$this->_forward('defaultNoRoute');
}
}
System logs are enabled and /var as well as /var/log are chmod to 777.