[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Дебаг для Notice/Error
NitroGenerate
Всем привет.
Работаю над большим самописным проектом. Как-то заглянул в error log, и офигел от кол-ва ошибок.
Это хорошо, что они записаны, но понять, что спровоцировало ошибку очень проблемно, так как к одному и тому же файлу может сайт обращаться с разными параметрами и из разных мест.
Вопрос, можно-ли как-то более детально писать в error_log ? Стек вызовов?
На ум приходит:
Для Notice (в месте возникновения ошибки):
error_log( json_encode(debug_backtrace()) );


Ну а фатал обернуть в try;catch
Может есть более лаконичные способы ?
killer8080
set_error_handler
и в нём делай логирование как тебе нужно.
twin
Цитата (NitroGenerate @ 7.09.2016 - 07:49)
Ну а фатал обернуть в try;catch

Это как?
Цитата (killer8080 @ 7.09.2016 - 08:39)
и в нём делай логирование как тебе нужно.

С фатальными так не выйдет. С фатальными вообще не выйдет стек. Саму ошибку поймать можно.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
NitroGenerate
Цитата (killer8080 @ 7.09.2016 - 08:39)

Цитата (NitroGenerate @ 7.09.2016 - 07:49)
Ну а фатал обернуть в try;catch

Это как?

Мысли в кучу, думаю об одном, пишу другое. smile.gif
Fatal поймать через register_shutdown_function();
twin
Цитата (NitroGenerate @ 7.09.2016 - 10:40)
Fatal поймать через register_shutdown_function();

А смысл? Стек все равно не поймаешь. Хотя при фатале стек и не нужен. Но опять же чем лог не устраивает? Убери сначала легкие ошибки, потом и эти будут как на ладони.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.