Skip to content

Instantly share code, notes, and snippets.

@MagePsycho
Created March 28, 2016 18:36
Show Gist options
  • Save MagePsycho/0565d60a9c8c311e9330 to your computer and use it in GitHub Desktop.
Save MagePsycho/0565d60a9c8c311e9330 to your computer and use it in GitHub Desktop.
Magento 2 Custom Logger - 2nd Approach
<?php
// File: app/code/MagePsycho/Helper/Data.php
// Usage: MagePsycho\Demo\Helper\Data::log($message)
namespace MagePsycho\Demo\Helper;
class Data extends \Magento\Framework\App\Helper\AbstractHelper
{
/**
* @var \Psr\Log\LoggerInterface
*/
protected $_logger;
/**
* @param \Magento\Framework\App\Helper\Context $context
* @param \MagePsycho\Demo\Logger\Logger $logger
*/
public function __construct(
\Magento\Framework\App\Helper\Context $context,
\MagePsycho\Demo\Logger\Logger $logger
) {
$this->_logger = $logger;
parent::__construct($context);
}
/**
*
* @param $message
*/
public function log($message)
{
$this->_logger->debug($message);
}
}
<?xml version="1.0"?>
<!-- File: app/code/MagePsycho/Demo/etc/di.xml -->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<virtualType name="customLogger" type="Magento\Framework\Logger\Monolog">
<arguments>
<argument name="handlers" xsi:type="array">
<item name="debug" xsi:type="object">MagePsycho\Demo\Logger\Handler</item>
</argument>
</arguments>
</virtualType>
</config>
<?php
//File: app/code/MagePsycho/Demo/Logger/Handler.php
namespace MagePsycho\Demo\Logger;
use Magento\Framework\Logger\Handler\Base;
use Monolog\Logger;
class Handler extends Base
{
/**
* Logging level
* @var int
*/
protected $loggerType = Logger::DEBUG;
/**
* File name
* @var string
*/
protected $fileName = '/var/log/magepsycho_demo.log';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment