これは、私がやったいくつかの検索からのはずだと思ったほど簡単にアクセスできるとは思えなかったので、将来の参考のために質問の質問/回答を投稿しています。
スローされた例外
errors / local.xmlを使用してスローされる例外の電子メール通知を有効にできます。errors/local.xml.template
を「errors / local.xml」にコピーして、使用したいメールアドレスと件名を入力してください。
<config>
<skin>default</skin>
<report>
<action>email</action>
<subject>domain.com exception</subject>
<email_address>name@example.com</email_address>
<trash>leave</trash>
</report>
</config>
次に、Magentoのエラー処理システムによって例外がスローされてキャッチされ、エラーレポート画面がエンドユーザーに表示されると、電子メール通知を受け取ります。
記録された例外
スローされず、ログに記録される例外の電子メール通知も取得したい場合は、内部でもう少し取得する必要があります。
まず、コアログライタークラスをオーバーライドします。
それが済んだら、コードをドロップするだけで、例外がログに記録された後に自分自身に電子メールを送信できます。メソッド__construct()
からログファイルにアクセスするには、ログファイル名を保存する必要があることに注意してください_write()
。
class Module_Core_Model_Zend_Log_Writer_Stream extends Zend_Log_Writer_Stream
{
protected $_streamOrUrl;
public function __construct($streamOrUrl, $mode = NULL)
{
parent::__construct($streamOrUrl, $mode);
$this->_streamOrUrl = $streamOrUrl;
}
protected function _write($event)
{
parent::_write($event);
if (strpos($this->_streamOrUrl, 'exception.log') === false) {
return;
}
// Send email here
}
}