Your IP : 127.0.0.1


Current Path : /home/dev2.destoffenstraat.com/app/code/Geissweb/Euvat/Logger/
Upload File :
Current File : /home/dev2.destoffenstraat.com/app/code/Geissweb/Euvat/Logger/Logger.php

<?php
/**
 * ||GEISSWEB| EU VAT Enhanced
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the GEISSWEB End User License Agreement
 * that is available through the world-wide-web at this URL: https://www.geissweb.de/legal-information/eula
 *
 * DISCLAIMER
 *
 * Do not edit this file if you wish to update the extension in the future. If you wish to customize the extension
 * for your needs please refer to our support for more information.
 *
 * @copyright   Copyright (c) 2015 GEISS Weblösungen (https://www.geissweb.de)
 * @license     https://www.geissweb.de/legal-information/eula GEISSWEB End User License Agreement
 */
declare(strict_types=1);

namespace Geissweb\Euvat\Logger;

use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Store\Model\ScopeInterface;

/**
 * For easy debug on production
 */
class Logger extends \Monolog\Logger
{
    /**
     * @var ScopeConfigInterface
     */
    public $scopeConfig;
    /**
     * @var bool
     */
    private $isDebugEnabled;

    /**
     * Init logging
     *
     * @param ScopeConfigInterface $scopeConfig
     * @param string $name
     * @param array $handlers
     */
    public function __construct(
        ScopeConfigInterface $scopeConfig,
        $name = 'VAT',
        $handlers = []
    ) {
        parent::__construct($name, $handlers, []);
        $this->scopeConfig = $scopeConfig;
        $this->isDebugEnabled = (bool)$this->scopeConfig->getValue(
            'euvat/mod_info/debug',
            ScopeInterface::SCOPE_STORE
        ) === true;
    }

    /**
     * To stay compatible with different Magento Versions (and their corresponding monolog/logger version)
     *
     * @param string $message
     * @param array $context
     *
     * @return bool
     */
    public function customLog(string $message, array $context = []) : bool
    {
        if ($this->isDebugEnabled) {
            return parent::addRecord(static::DEBUG, $message, $context);
        }

        return false;
    }
}