Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带有artisan输出的Log Laravel_Php_Laravel - Fatal编程技术网

Php 带有artisan输出的Log Laravel

Php 带有artisan输出的Log Laravel,php,laravel,Php,Laravel,我正在与Laravel合作,我试图用这个日志函数记录一些函数输出: 日志::警告(“某些消息”) 但是如果我想在控制台和日志文件中写入,我需要用不同的函数将相同的消息写入两次,如下所示: Log::warning(“some message”)//这对日志文件很有用 dump(“some message”)//这对于artisan控制台输出很有用 有一些函数只允许我使用两者中的一种?您可以使用Laravel事件来集成此功能,而无需更改当前记录信息的方式 为illumb\Log\Events\Me

我正在与Laravel合作,我试图用这个日志函数记录一些函数输出:

日志::警告(“某些消息”)

但是如果我想在控制台和日志文件中写入,我需要用不同的函数将相同的消息写入两次,如下所示:

Log::warning(“some message”)//这对日志文件很有用

dump(“some message”)//这对于artisan控制台输出很有用


有一些函数只允许我使用两者中的一种?

您可以使用Laravel事件来集成此功能,而无需更改当前记录信息的方式

illumb\Log\Events\MessageLogged
事件添加一个侦听器,如果请求来自控制台,则在侦听器中向控制台输出日志项——使用

  • 调用
    MessageLoggedListener
    ,例如:

    protected $listen = [
        'Illuminate\Log\Events\MessageLogged' => [
            'App\Listeners\MessageLoggedListener',
        ],
    ];
    
  • 使用
    php artisan事件:Generate

  • 将事件处理程序添加到侦听器:

    /**
    * Handle the event.
    *
    * @param  MessageLogged  $event
    * @return void
    */
    public function handle(MessageLogged $event)
    {
        if (app()->runningInConsole()) {
            $output = new ConsoleOutput();
            $output->writeln("<error>{$event->message}</error>");
        }
    }
    
    这是您将看到的输出:

    $ php artisan command
    Hello world! This is an error.
    
    [2018-01-15 16:55:46] local.WARNING: Hello world! This is an error.
    
    在日志文件中,您将看到:

    $ php artisan command
    Hello world! This is an error.
    
    [2018-01-15 16:55:46] local.WARNING: Hello world! This is an error.
    
    您可以通过添加不同的输出样式来改进功能,例如,您可能希望对错误使用
    error
    ,对信息使用
    info
    。您可以阅读有关设置输出样式的内容