如果开发人员 Magento 没有日志记录的特性,那么调试将会是一场噩梦。日志有助于发现错误及其原因。
Magento 2 提供了三种类型的日志文件 debug.log、exception.log 和 system.log。
Magento2 中自定义模块使用默认日志文件
<?php
namespace Codex\Test\Block;
class Test extends \Magento\Framework\View\Element\Template
{
protected $_logger;
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Psr\Log\LoggerInterface $logger,
array $data = []
)
{
$this->_logger = $logger;
parent::__construct($context, $data);
}
public function LogData()
{
// saved data in var/log/debug.log
$this->_logger->debug('message goes here');
// saved data in var/log/system.log
$this->_logger->info('message goes here');
}
}
这些日志文件的大小每天都在变大。如果您将自定义模块日志存储在任何这些日志文件中,那么当出现问题时检查日志将变得非常困难,记录自定义模块数据的理想方式是记录到自定义日志文件中。
Magento2 自定义日志记录
Magento2 中输出日志记录信息可以使用下面方法。
$writer = new \Zend\Log\Writer\Stream(BP . '/var/log/paypal_debug7.log');
$logger = new \Zend\Log\Logger();
$logger->addWriter($writer);
$logger->info('6');
在info里面的参数,只能是输出字符串。需要特别注意。
例如写个公用方法进行调用

它将在var/log/文件夹下创建一个名为cg_payop.log的日志文件,并在其中记录 “$msg”里面的内容。