【发布时间】:2017-07-08 13:04:02
【问题描述】:
运行 php artisan serve 时,laravel 如何在控制台打印出一些字符串?
我试过Log::info,但它不起作用。
【问题讨论】:
运行 php artisan serve 时,laravel 如何在控制台打印出一些字符串?
我试过Log::info,但它不起作用。
【问题讨论】:
很简单。
你可以在APP的任何地方调用它。
$out = new \Symfony\Component\Console\Output\ConsoleOutput();
$out->writeln("Hello from Terminal");
【讨论】:
试试
error_log('message here.');
如果你添加 LOG
Log::info('message');
如果 LOG 带有一个数组
Log::info(json_encode($array));
导入
Illuminate\Support\Facades\Log;
【讨论】:
Log::info() 或 Log::debug() 不会写入浏览器控制台,它们会写入 storage/logs/laravel-YYYY-MM-DD.log。此外,您必须导入Illuminate\Support\Facades\Log。然后,您可以使用 tail -f storage/logs/laravel-2022-01-19.log 即时显示它们。
Laravel 5.6 简化了这一点,因为您现在有了一个可以利用的 logging.php 配置文件。
要知道的关键是您要输出到stdout,而php 有一个内置的流包装器,称为php://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 - Write to the Console
【讨论】:
tap 选项和这个包来设置格式化程序github.com/bramus/monolog-colored-line-formatter/blob/master/…
您必须配置 laravel 存储日志的位置。默认Log::info() 将日志放在日志文件而不是控制台中。你可以使用tail -f logpath查看日志。
【讨论】:
你可以调用info()方法
$this->info("Your Message");
【讨论】: