有没有办法检测用户在创建自定义工匠命令时指定的详细级别?我在文档中没有看到任何关于它的内容。
问问题
9836 次
2 回答
31
里面有getVerbosity()
函数Symfony\Component\Console\Output\OutputInterface
,你可以用它$this->getOutput()
来检索输出对象。
$verbosityLevel = $this->getOutput()->getVerbosity();
然后,您可以将级别与内部定义的常量进行比较OutputInterface
。例如:
if($verbosityLevel >= OutputInterface::VERBOSITY_VERBOSE){
// show verbose messages
}
于 2014-12-22T22:40:05.530 回答
16
您可以根据文档使用不同的详细程度:
https://laravel.com/api/6.x/Illuminate/Console/OutputStyle.html#method_isQuiet
isQuiet() - no verbosity is set (no option set)
isVerbose() - if the level is quiet or verbose (-v)
isVeryVerbose() - if the level is very verbose, verbose or quiet (-vv)
isDebug() - if the level is debug, very verbose, verbose or quiet (-vvv)
例如在你的命令中$this->getOutput()->isQuiet()
这也影响writeLn()
. 如果您要编写$this->line('Serious message', null, 'vv');
该消息,则会出现-vv
和-vvv
选项,但不会出现-v
和静默模式,因为对于这些级别的日志记录来说“太详细了”。
于 2018-06-25T13:43:41.063 回答