2012-10-26 1 views
1

я построил в Logger (Monolog) в моем PHP проект, который сконфигурирован для регистрации системных событий (информация/отладки), но и ошибки (ошибка/критическое)Предотвращение мой Logger затопить меня с сообщениями

I Я установил его так, чтобы при возникновении критической ошибки вызывается 2 системы, одна отправляет почту, а другая отправляет смс.

Теперь, когда база данных умирает, критическое событие регистрируется и, таким образом, отправляется почта и смс. Но так как сайт, вероятно, привлечет некоторый трафик, это событие, вероятно, будет срабатывать несколько раз в минуту, в пиковые времена даже в секунду. На самом деле, вероятно, для каждого запроса на сайт.

Как я могу предотвратить это, предотвратить наводнение/спам с помощью sms-сообщений и писем? Должен ли я изменить свой код с каким-то дросселированием, что одно и то же сообщение об ошибке не отправляется в течение заданного промежутка времени (вроде бы трудно различать типы ошибок), я должен собирать все ошибки и отправлять их раз в несколько минут (дает более медленный время отклика) или есть системы, в которые я могу отправить свои ошибки, которые позаботятся об этом для меня? Я думаю в направлении сборщика журналов, который может быть настроен для отправки SMS/почты при определенных уровнях, но с каким-то дросселированием?

ответ

0

я бы заставить его вести себя так же, как и ignore_repeated_errors не ignore_repeated_source http://ca2.php.net/manual/en/errorfunc.configuration.php#ini.ignore-repeated-errors

Нет необходимости быть уведомлен о той же ошибки снова и снова. Если я получаю SMS и электронную почту (резервное копирование), что база данных не работает, этого должно быть достаточно для sysadmin.

Если вам необходимо отправить его максимум 3 раза в течение часа или двух.