Magento2 cron log

Magento2 定时任务日志

cron.log

cron.log 由 Magento 内部 cron 任务调度写入

vendor/magento/module-cron/etc/di.xml

virtualType name="Magento\Cron\Model\VirtualLoggerHandler" type="Magento\Framework\Logger\Handler\Base">
<arguments>
<argument name="fileName" xsi:type="string">/var/log/cron.log</argument>
</arguments>
</virtualType>

含义:

  • 定义了一个 虚拟类型virtualType),名字叫 Magento\Cron\Model\VirtualLoggerHandler
  • 它基于 Magento\Framework\Logger\Handler\Base
  • 它的参数里指定了 fileName = /var/log/cron.log

✅ 作用:
当 Magento 的 Cron 模块 调用 logger($this->logger->info() / $this->logger->error())时,就会写入 var/log/cron.log
这就是 Magento 自己的 cron 执行日志

magento.cron.log

 <type name="Magento\Framework\Crontab\TasksProviderInterface">
        <arguments>
            <argument name="tasks" xsi:type="array">
                <item name="cronMagento" xsi:type="array">
                    <item name="command" xsi:type="string">{magentoRoot}bin/magento cron:run >> {magentoLog}magento.cron.log 2>&amp;1</item>
                    <item name="optional" xsi:type="boolean">false</item>
                </item>
            </argument>
        </arguments>
    </type>

含义:

  • Magento\Framework\Crontab\TasksProviderInterface 定义了 系统级 cron job(操作系统 crontab 中实际要执行的命令)。
  • 这里给它配置了一个任务 cronMagento
  • 它的 command 是: {magentoRoot}bin/magento cron:run >> {magentoLog}magento.cron.log 2>&1
  • {magentoRoot} 会替换为 Magento 安装目录。
  • {magentoLog} 会替换为 var/log/

✅ 作用:
这是 Magento 自动生成的 系统 crontab 条目。执行结果(stdout + stderr)会重定向到 var/log/magento.cron.log
这部分是 系统 cron 的命令执行日志,不是 Magento 内部 logger 写的。

发表评论