logging.png

Mojaviの地味プログラム公開。(こないだMojaviのクラス図雛形作っておいたので簡単に図で説明できる。ツイてる!)

EmailAppender.class.php

MojaviのロギングはLoggerにどんなAppenderをaddAppenderするかでログをどこに出すのか決めます。
opt/loggingにはデフォルトでStdoutAppender(標準出力に追加する)とFileAppender(ファイルに追加する)がありますが、本運用する場合に必ず必要なのがEmailAppender(メールに追加する=メール飛ばす)かと思って作りました。
具体的にはEmailAppender.class.phpをopt/loggingにでも入れてからindex.phpでLoggerにaddAppenderします。

$logManager =& LogManager::getInstance();
$deflog =& LogManager::getLogger();
$layout =& new PatternLayout('%N %c::%F() %m %d{r} %f:%l%n');
require_once(LOGGING_DIR."FileAppender.class.php");
$fileAppender =& new FileAppender($layout, LOG_DIR.'mojavi_%d{Y_m_d}.log');
$deflog->addAppender("file", $fileAppender);
<strong>require_once(LOGGING_DIR."EmailAppender.class.php");
$emailAppender =& new EmailAppender($layout, "komagata@p0t.jp");
$deflog->addAppender("email", $emailAppender);</strong>

上記の例だとLoggerはデフォルトでStdoutAppenderを持っているのでFileAppenderとEmailAppenderを追加してることになります。設定した閾値(レベル)を超えるエラーが発生したときにログを標準出力とファイルとメールに書きます。

Comments


Option