Как laravel распечатывает некоторую строку на консоли при запуске php artisan serve?
Я попробовал Log :: info, но он не работает.
Вы должны настроить, где Laravel для хранения журналов. По умолчанию Log::info()
поместите журнал в файл журнала, а не консоль. ты можешь использовать tail -f logpath
чтобы увидеть журнал.
Laravel 5.6 упростил это, потому что теперь у вас есть logging.php
Конфигурационный файл, который вы могли бы использовать.
Главное знать, что вы хотите выводить на stdout
и PHP имеет встроенную потоковую оболочку под названием php://stdout
, Учитывая это, вы можете добавить канал для этой оболочки. Вы бы добавили stdout «канал» к своим каналам, на которые вы будете входить.
Вот как в основном будет выглядеть конфиг:
<?php
return [
'default' => env('LOG_CHANNEL', 'stack'),
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['single','stdout'],
],
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
],
'stdout' => [
'driver' => 'monolog',
'handler' => StreamHandler::class,
'with' => [
'stream' => 'php://stdout',
],
],
];
У меня есть больше информации здесь — Laravel 5.6 — запись в консоль