为了在Magento 2中写入日志,必须使用Monolog库进行日志记录。使用Monolog的Logger类MAGENTO_ROOT/vendor/monolog/monolog/src/Monolog/Logger.php
。涵盖两个步骤,以清楚地显示说明。
在Magento 2中编写日志的概述
步骤1:在模块中写入自定义日志
在您的模块中,请使用函数之一app/code/Mageplaza/HelloWorld/Block/Post.php
。在今天的指南中,您将在以下代码中看到某些类型的日志,例如信息,警报,通知,严重,错误和调试。但是,请记住,所有的人都在存档system.log
文件从调试日志是在期待debug.log
文件
<?php
namespace Mageplaza\HelloWorld\Post;
class Post 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 testLogging()
{
// monolog's Logger class
// MAGENTO_ROOT/vendor/monolog/monolog/src/Monolog/Logger.php
// saved in var/log/debug.log
$this->_logger->debug('debug1234');
//Output: [2017-02-22 04:48:44] main.DEBUG: debug1234 {"is_exception":false} []
$this->_logger->info('info1234');
// Write to default log file: var/log/system.log
//Output: [2017-02-22 04:52:56] main.INFO: info1234 [] []
$this->_logger->alert('alert1234');
// Write to default log file: var/log/system.log
//Output: [2017-02-22 04:52:56] main.ALERT: alert1234 [] []
$this->_logger->notice('notice1234');
// Write to default log file: var/log/system.log
//Output: [2017-02-22 04:52:56] main.NOTICE: notice1234 [] []
// Write to default log file: var/log/system.log
$this->_logger->error('error1234');
//Output: [2017-02-22 04:52:56] main.ERROR: error1234 [] []
// Write to default log file: var/log/system.log
$this->_logger->critical('critical1234');
//Output: [2017-02-22 04:52:56] main.CRITICAL: critical1234 [] []
// Adds a log record at an arbitrary level
$level = 'DEBUG';
// saved in var/log/debug.log
$this->_logger->log($level,'debuglog1234', array('msg'=>'123', 'new' => '456'));
//Output: [2017-02-22 04:52:56] main.DEBUG: debuglog1234 {"msg":"123","new":"456","is_exception":false} []
// Write to default log file: var/log/system.log
$level = 'ERROR';
$this->_logger->log($level,'errorlog1234', array( array('test1'=>'123', 'test2' => '456'), array('a'=>'b') ));
//Output: [2017-02-22 04:52:56] main.ERROR: errorlog1234 [{"test1":"123","test2":"456"},{"a":"b"}] []
}
}
?>
步骤2:清除快取并检查结果
刷新Magento缓存并检查结果。
如果收到此错误消息:出于安全原因,默认情况下禁用异常打印,此主题可能会有所帮助。
这就对了!如果您对本文有任何疑问或一般性的问题,请使用下面的评论部分!