Notifiers for Tracy\Debugger
Notice: This thread is very old.
- finwe
- Member | 58
The e-mail notifications are too tightly integrated to the
Logger
class – when wanting to notify some other channels
(mainly 3rd party APIs) I would have to extend the base logger class and edit
the Logger::log()
method.
Proposition
Introduce a Logger::$notifiers
property with an array of
Tracy\INotifier
interface instances:
<?php
namespace Tracy;
interface INotifier
{
public function notify($message);
}
Base Logger::log()
method would then be changed from
if (in_array($priority, array(self::ERROR, self::EXCEPTION, self::CRITICAL), TRUE)) {
$this->sendEmail($message);
}
to
foreach (self::$notifiers as $notifier) {
$notifier->notify($message);
}
Error levels to notify would be handled by INotifier
implementation.
Backwards compatibility
Basic EmailNotifier
would be included in distribution and
automatically set up on Debugger
enabling. Also
Debugger::$email
, Debugger::$mailer
and other related
variables would be transferred to said notifier settings.
I propose removing e-mail related settings from Debugger class in the next significant version.