1.创建log文件
app/code/Magenest/CustomLog/Logger/Logger.php
<?php
namespace Magenest\CustomLog\Logger;
class Logger extends \Monolog\Logger
{
}
app/code/Magenest/CustomLog/Logger/Handler.php
<?php
namespace Magenest\CustomLog\Logger;
use Monolog\Logger;
class Handler extends \Magento\Framework\Logger\Handler\Base
{
/**
* Logging level
* @var int
*/
protected $loggerType = Logger::NOTICE;
/**
* File name
* @var string
*/
protected $fileName = '/var/log/magenest_custom_log.log';
}
文件名/var/log/magenest_custom_log。日志是magento根文件夹的相对路径,这意味着您的日志将存储在<magento_root>/var/log/magenest_custom_log.log下
变量loggerType定义了可以应用的日志级别。
Monolog/Logger具有以下常量:
DEBUG = 100
INFO = 200
NOTICE = 250
WARNING = 300
ERROR = 400
CRITICAL = 500
ALERT = 550
EMERGENCY = 600
2.定义logger
app/code/Magenest/CustomLog/etc/di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd">
<type name="Magenest\CustomLog\Logger\Handler">
<arguments>
<argument name="filesystem" xsi:type="object">Magento\Framework\Filesystem\Driver\File</argument>
</arguments>
</type>
<type name="Magenest\CustomLog\Logger\Logger">
<arguments>
<argument name="name" xsi:type="string">Magenest_Custom_Log</argument>
<argument name="handlers" xsi:type="array">
<item name="system" xsi:type="object">Magenest\CustomLog\Logger\Handler</item>
</argument>
</arguments>
</type>
</config>
3.测试
app/code/Magenest/CustomLog/Controller/Index/Index.php
<?php
namespace Magenest\CustomLog\Controller\Index;
use Magenest\CustomLog\Logger\Logger;
use Magento\Framework\App\Action\Action;
use Magento\Framework\App\Action\Context;
use Magento\Framework\View\Result\PageFactory;
class Index extends Action
{
/**
* Index action
*
* @return $this
*/
/** @var PageFactory */
protected $resultPageFactory;
/**
* @var Logger
*/
protected $logger;
public function __construct(
Context $context,
PageFactory $resultPageFactory,
Logger $logger
){
$this->resultPageFactory = $resultPageFactory;
$this->logger = $logger;
parent::__construct($context);
}
public function execute()
{
$this->logger->error('Log Error');
$this->logger->emergency('Log Emergency');
$this->logger->info('Log Info');
$this->logger->debug('Log Debug');
$resultPage = $this->resultPageFactory->create();
return $resultPage;
}
}
查看magenest_custom_log.log文件
image.png