php 在运行Laravel artisan命令时,如何抑制输出?有--quiet选项吗?

xnifntxz  于 2023-11-16  发布在  PHP
关注(0)|答案(1)|浏览(108)

我有一个从cron运行的artisan命令:

php artisan telescope:prune

字符串
这个命令(像许多artisan命令一样)产生输出。这对于交互式使用来说很好,但是当我从cron运行这样的命令时,我更喜欢遵循cron约定,除非有错误,否则不产生任何输出。
许多命令都支持--quiet选项,或者需要混乱的>/dev/null重定向来降低噪音。我看过Laravel artisan文档,但我找不到控制此类命令输出的方法。当从Laravel内部调用artisan命令时,可以通过callSilently()方法调用它来抑制输出,但这在命令行上不可用,就我所知
如何在命令行上抑制artisan命令的输出?

qnzebej0

qnzebej01#

事实证明,这是可能的,只是没有记录在案。
Artisan命令实现InteractsWithIO接口,该接口将输出详细控制定义为 * 每个 * artisan命令的命令行选项。选项包括:

  • v:详细
  • vv:非常冗长
  • vvv
  • quiet:安静
  • normal:正常

Artisan命令可以通过各种通道(如infolinecommentquestionerror,有关详细信息,请参阅interface类)生成输出,这些通道的作用与日志级别非常相似,允许根据详细程度选项对它们进行过滤。
因此,为了直接回答我的问题,可以通过附加--quiet选项来抑制此命令的输出:

php artisan telescope:prune --quiet

字符串

相关问题