CakeEmail のログに件名、宛先などを追加する

CakePHP2 でのメール送信は CakeEmail を使っているのですが、メールのログを見てみると、件名や宛先(to,cc,bcc)が入っていませんでした。
残しておきたいので以下のようにしました。

まずは、app/Lib/Network/Email フォルダを作成して AppCakeEmail.php というファイル名で下記のコードを保存します。
(コアファイルの Network/Email/CakeEmail.phpの send() 関数をコピーしたものにちょっと手を加えてます)

<?php
App::uses('CakeEmail', 'Network/Email');

class AppCakeEmail extends CakeEmail {

	public function send($content = null) {
		if (empty($this->_from)) {
			throw new SocketException(__d('cake_dev', 'From is not specified.'));
		}
		if (empty($this->_to) && empty($this->_cc) && empty($this->_bcc)) {
			throw new SocketException(__d('cake_dev', 'You need to specify at least one destination for to, cc or bcc.'));
		}

		if (is_array($content)) {
			$content = implode("\n", $content) . "\n";
		}

		$this->_textMessage = $this->_htmlMessage = '';
		$this->_createBoundary();
		$this->_message = $this->_render($this->_wrap($content));

		$contents = $this->transportClass()->send($this);
		if (!empty($this->_config['log'])) {
			$level = LOG_DEBUG;
			if ($this->_config['log'] !== true) {
				$level = $this->_config['log'];
			}
			$to = $cc = $bcc = '';
			if (!empty($this->_to)) {
				$to = PHP_EOL . 'To:' . implode(',', $this->_to);
			}
			if (!empty($this->_cc)) {
				$cc = PHP_EOL . 'Cc:' . implode(',', $this->_cc);
			}
			if (!empty($this->_bcc)) {
				$bcc = PHP_EOL . 'Bcc:' . implode(',', $this->_bcc);
			}
			if (!empty($this->_subject)) {
				$subject = PHP_EOL . 'Subject:' . $this->_subject;
			}
			CakeLog::write($level, $to . $cc . $bcc . $subject . PHP_EOL . $contents['headers'] . PHP_EOL . $contents['message']);
		}
		return $contents;
	}
}


あとは、CakeEmail を使用する時に app/Lib/Network/Email/AppCakeEmail.php を読み込んで使えばOKです!

<?php
	public function sendMail() {
		App::uses('AppCakeEmail', 'Lib/Network/Email');

		$email = new AppCakeEmail('default');
		$email->config(array('log' => 'emails'));
		      ->to('noreply@example.com')
		   ->send();
	}


本当は別名で継承してというやり方ではなく、 CakeEmail のままで出来れば一番いいのですがわかりませんでした。
何か方法があれば教えてください!!

以上。