SwiftMailer spool:send 命令 - 如何查看已发送邮件的详细信息?详细选项不起作用

SwiftMailer spool:send command - how to see details about sent messages? Verbose option not working

这是 SwiftMailer 发送命令的 --help 选项的输出:

$ php bin/console swiftmailer:spool:send -help
Description:
  Sends emails from the spool

Usage:
  swiftmailer:spool:send [options]

Options:
      --message-limit=MESSAGE-LIMIT      The maximum number of messages to send.
      --time-limit=TIME-LIMIT            The time limit for sending messages (in seconds).
      --recover-timeout=RECOVER-TIMEOUT  The timeout for recovering messages that have taken too long to send (in seconds).
      --mailer=MAILER                    The mailer name.
      --transport=TRANSPORT              The service of the transport to use to send the messages.
  -h, --help                             Display this help message
  -q, --quiet                            Do not output any message
  -V, --version                          Display this application version
      --ansi                             Force ANSI output
      --no-ansi                          Disable ANSI output
  -n, --no-interaction                   Do not ask any interactive question
  -e, --env=ENV                          The Environment name. [default: "prod"]
      --no-debug                         Switches off debug mode.
  -v|vv|vvv, --verbose                   Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Help:
  The swiftmailer:spool:send command sends all emails from the spool.

  php bin/console swiftmailer:spool:send --message-limit=10 --time-limit=10 --recover-timeout=900 --mailer=default

我想 运行 使用调试级别的详细信息。但是,我得到的输出与我正常 运行 命令时的输出完全相同:

$ php bin/console swiftmailer:spool:send -vvv

 [2021-10-15 12:11:22] Processing default mailer spool...
 2 emails sent

我希望详细选项至少显示有关正在发送的消息的一些详细信息...有谁知道不同详细级别应该显示什么样的输出?我是否使用不当?如果是,获得详细输出的正确方法是什么?

详细级别与特定命令无关。它是 symfony/console 组件的一部分,只是一种让您(作为开发人员)控制对用户输入做出反应的方式。

并非所有提供的命令都利用它并且并不总是对其做出反应。 如果你往里看 Symfony\Bundle\SwiftmailerBundle\Command\SendEmailCommand.php 你不会找到 都没有

if($this->io->getVerbosity()) { //... }

也不

if($this->io->isVerbose()) { //... }

也不

if($this->io->isVeryVerbose()) { //... }

所以 -vvvswiftmailer:spool:send

中根本没有逻辑

所以一般来说,更详细的信息只会给你更多关于错误的信息,例如如果抛出任何异常,则堆栈跟踪。 ...除非您在自己的命令中实施了一些检查。