Intereting Posts
Мне нужно расширение jQuery Autocomplete, возвращающее id и имя, используя ajax Я немного запутался, PHP говорит, что $ results является не объектом класса mysqli parsing json error: SyntaxError: JSON.parse: неожиданный символ в строке 1 столбца 2 данных JSON PHP docBlock @return className Использование регулярного выражения для фильтрации года фиксированной длины 0 или 4 цифры Почему моя переменная не помещается в $ _GET? API-интерфейс Google Drive PHP – как передать большой файл AngularJS: получать значения строки запроса без хеша в ссылке WAMP php ODBC Connection «Предупреждение» Codeigniter показывает 404 Страница не найдена на Hostgator Представление PHP scandir explorer для отображения файлов общих сетевых файлов (файл: //) через WAMP. Работает на локальном хосте, но не по IP-адресу Как запустить исполняемый файл с сайта PHP в качестве конкретного пользователя Windows? Лучший способ создать многопользовательскую систему в PHP Проблема с разбиением на страницы в пользовательском шаблоне WordPress Laravel Mail :: отправить, как передавать данные на почту Посмотреть

Установить минимальное сообщение об ошибках PHP в Monolog ErrorHandler

Просто начал использовать Монолог для регистрации ошибок в моем PHP-проекте, но я хочу установить минимальную установку отчетов об ошибках в УВЕДОМЛЕНИЕ и выше. Код Im, использующий прямо сейчас

use Monolog\ErrorHandler; $handler = new ErrorHandler($logger); $handler->registerErrorHandler([], false); $handler->registerExceptionHandler(); $handler->registerFatalHandler(); 

Который генерирует все ошибки, включая УВЕДОМЛЕНИЯ. Как установить равный

error_reporting (E_ALL & ~ E_NOTICE);

используя Монолог

Related of "Установить минимальное сообщение об ошибках PHP в Monolog ErrorHandler"

ErrorHandler поймает все уровни trigger_error если вы не забудете их, используя оператор @ или фактически установив error_reporting с помощью error_reporting(E_ALL & ~E_NOTICE);

Если по какой-то причине вы хотите сохранить отчет об ошибках, но в то же время отфильтруйте, какая из этих ошибок улавливается обработчиком ошибок monolog, я бы пошел с расширением обработчика ошибок и зарегистрировав это вместо этого. Что-то вроде этого:

 class MyErrorHandler extends Monolog\ErrorHandler{ public function handleError($code, $message, $file = '', $line = 0, $context = []) { if($code === E_NOTICE){ return; } parent::handleError($code, $message, $file, $line, $context); } } use MyErrorHandler as ErrorHandler; $handler = new ErrorHandler($logger); $handler->registerErrorHandler([], false); $handler->registerExceptionHandler(); $handler->registerFatalHandler(); 

Обратите внимание, что я на самом деле не проверял это, но я не нашел причин, по которым он не будет работать

Уровни регистрации монолога не связаны с уровнями ведения журнала PHP. Уровни ведения журнала PHP, заданные error_reporting() управляют тем, что сам PHP-сервер сообщает в своем собственном выпуске. Уровни регистрации монолога эмулируют уровни syslog unix и предназначены для управления приложениями, а не PHP. Т.е. error_reporting() обрабатывает сообщения, сгенерированные PHP, а Monolog обрабатывает сообщения, созданные вашим приложением. Например, в вашем приложении при выдаче журнала вы указываете его серьезность:

 if ($some_not_important_condition) { $logger->info('foo'); } if ($some_important_condition) { $logger->error('bar'); } 

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