A trait to split Symfony/Laravel Console Output to stdout and stderr
, (*1)
A trait you can pull into your Laravel-Commands (use \Ottosmops\Consoleoutput\ConsoleOutputTrait;
). This should help to make the commands behave more like you would expect ("Silence is golden."). The effect: Errors and warnings are sent to stderr
. Other messages are sent to stdout
only if you call the command with -v
or -vv
. You can overwrite this when you call the methods. Just set another $verbosityLevel
., (*2)
The trait is inspired by this blog-post: http://fideloper.com/laravel-symfony-console-commands-stderr, (*3)
Installation
composer require ottosmops/consoleoutput
Usage
Just pull in the trait, and you are ready to go., (*4)
class TestCommand extents Illuminate\Console\Command
{
use \Ottosmops\Consoleoutput\ConsoleOutputTrait;
...
public function handle()
{
$this->info("This is only an info message."); // This message is only shown, if you call the command with '-v'.
$this->error("Here comes the error.");
}
}
Methods
debug($message, $verbosityLevel = 'vv') // black output
info($message, $verbosityLevel = 'v') // blue output
success($message, $verbosityLevel = 'v') // green
warn($message, $verbosityLevel = 'normal') // orange
error($message, $verbosityLevel = 'normal') // red
fatal($message, $verbosityLevel = 'normal') //red and exits
Version 1.1
To avoid errors, the methods check if you call them from the command line. Otherwise the Laravel-Log-Methods are called., (*5)
License
The MIT License (MIT). Please see License File for more information., (*6)