#php #laravel
Вопрос:
Есть ли там sth. похоже на console.log() из javascript в php?
Проблема, которая у меня есть в laravel для e.x.
error_log($request);
не работает, потому что $request не является строкой и т. Д.
https://laravel.com/docs/8.x/logging#introduction
Для меня это кажется слишком сложным для того, что я хочу заархивировать, честно говоря, я этого совсем не понимаю. Каков самый простой способ войти в laravel/php, не думая о типах и т. Д.
Может быть, есть библиотека, которую я могу установить и войти в терминал без второй, хотя и утомительной работы по настройке? может быть, расширение VSCode?
Комментарии:
1. В чем тут такого сложного ?
Log::error($request)
С конфигурацией по умолчанию в Laravel, в которую будет записан$request
объектstorage/logs/laravel.log
…2. В конце концов, вам нужно где-то записать строку в журнал, и не все объекты, в широком смысле
error_log(strval($request));
, должны работать, но не все объекты преобразуются в строки осмысленным образом. Некоторые объекты так и делают, для других имеет смысл использоватьjson_encode(..)
их для преобразования в строки JSON. Не существует простого способа получить значимые журналы при работе с объектами.3. Что такого сложного в Log::error($запрос)? Ничего, но мне придется открыть файл, использовать колесико мыши, чтобы добраться до конца, и горизонтальную полосу, получить массу накладных расходов… по сравнению с регистрацией javascript в php кажется довольно сложным. Я также пробовал этот подход, osi.коды/как-к-консольному журналу-в-laravel , но, похоже, он не работает.
4. error_log(strval($запрос)); ничего не показывает, кроме как в laravel.log, локально. ОШИБКА: Объект класса PayPalCheckoutSdkOrdersOrdersCreateRequest не удалось преобразовать в строку {«Идентификатор пользователя»:1,»исключение»:»[объект] (исключение ошибки(код: 0)… это хоть в чем-то помогает.
Ответ №1:
Не очень приятное решение, но так как вы хотите что-то похожее на консоль.журналы в javascript, вы можете изменить канал журнала в своем .env
файле, чтобы указать, на stderr
который в основном будут отправляться ваши журналы на консоль. Это было бы, если бы вы уже запускали приложение с php artisan serve
помощью . Журналы будут отображаться в консоли или терминале, где вы выполняете команду приложения обслуживания.
Измените эту строку в .env LOG_CHANNEL=stack to LOG_CHANNEL=stderr
Это может быть не очень красиво, потому что все журналы будут отображаться на консоли, но я думаю, что это может быть то, что вы ищете.