From b6605995665463d1b42b2ed9d6acb50c44aa3f38 Mon Sep 17 00:00:00 2001 From: "@ChristelLoftus" <christel@bob.co.za> Date: Wed, 31 Jul 2024 10:46:59 +0200 Subject: [PATCH] Add custom logger - monolog --- Logger/CustomLogger.php | 6 ++++++ Logger/Handler.php | 11 +++++++++++ Model/Carrier/BobGo.php | 41 ++++++++++++++++++++++------------------- etc/env.php | 19 +++++++++++++++++++ etc/frontend/di.xml | 21 +++++++++++++++++---- 5 files changed, 75 insertions(+), 23 deletions(-) create mode 100644 Logger/CustomLogger.php create mode 100644 Logger/Handler.php create mode 100644 etc/env.php diff --git a/Logger/CustomLogger.php b/Logger/CustomLogger.php new file mode 100644 index 0000000..ced63ec --- /dev/null +++ b/Logger/CustomLogger.php @@ -0,0 +1,6 @@ +<?php +namespace BobGroup\BobGo\Logger; + +class CustomLogger extends \Monolog\Logger +{ +} diff --git a/Logger/Handler.php b/Logger/Handler.php new file mode 100644 index 0000000..89a1aae --- /dev/null +++ b/Logger/Handler.php @@ -0,0 +1,11 @@ +<?php +namespace BobGroup\BobGo\Logger; + +use Monolog\Logger; +use Magento\Framework\Logger\Handler\Base; + +class Handler extends Base +{ + protected $fileName = '/var/log/bobgo.log'; + protected $loggerType = Logger::DEBUG; +} diff --git a/Model/Carrier/BobGo.php b/Model/Carrier/BobGo.php index c7821dc..a93c633 100644 --- a/Model/Carrier/BobGo.php +++ b/Model/Carrier/BobGo.php @@ -1179,7 +1179,6 @@ //} -<?php namespace BobGroup\BobGo\Model\Carrier; use Magento\Framework\App\Config\ScopeConfigInterface; @@ -1188,7 +1187,7 @@ use Magento\Quote\Model\Quote\Address\RateRequest; use Magento\Shipping\Model\Carrier\AbstractCarrierOnline; use Magento\Shipping\Model\Carrier\CarrierInterface; use Magento\Shipping\Model\Rate\Result; -use Psr\Log\LoggerInterface; +use BobGroup\BobGo\Logger\CustomLogger; class BobGo extends AbstractCarrierOnline implements CarrierInterface { @@ -1197,31 +1196,32 @@ class BobGo extends AbstractCarrierOnline implements CarrierInterface protected $scopeConfig; protected $httpClientFactory; - protected $logger; + protected $customLogger; public function __construct( - ScopeConfigInterface $scopeConfig, + ScopeConfigInterface $scopeConfig, \Magento\Quote\Model\Quote\Address\RateResult\ErrorFactory $rateErrorFactory, - LoggerInterface $logger, - ZendClientFactory $httpClientFactory, - array $data = [] - ) { + CustomLogger $customLogger, + ZendClientFactory $httpClientFactory, + array $data = [] + ) + { $this->scopeConfig = $scopeConfig; $this->httpClientFactory = $httpClientFactory; - $this->logger = $logger; - parent::__construct($scopeConfig, $rateErrorFactory, $logger, $data); + $this->customLogger = $customLogger; + parent::__construct($scopeConfig, $rateErrorFactory, $customLogger, $data); } public function collectRates(RateRequest $request) { - $this->logger->info('BobGo collectRates method called'); + $this->customLogger->info('BobGo collectRates method called'); if (!$this->getConfigFlag('active')) { - $this->logger->info('BobGo is not active'); + $this->customLogger->info('BobGo is not active'); return false; } - $this->logger->info('BobGo is active, proceeding with rate collection'); + $this->customLogger->info('BobGo is active, proceeding with rate collection'); $result = $this->_rateFactory->create(); @@ -1235,11 +1235,11 @@ class BobGo extends AbstractCarrierOnline implements CarrierInterface 'package_qty' => $request->getPackageQty(), ]; - $this->logger->info('Request parameters: ' . json_encode($params)); + $this->customLogger->info('Request parameters: ' . json_encode($params)); try { $apiResponse = $this->_fetchRatesFromApi($params); - $this->logger->info('API response: ' . json_encode($apiResponse)); + $this->customLogger->info('API response: ' . json_encode($apiResponse)); if ($apiResponse && isset($apiResponse['rates']) && !empty($apiResponse['rates'])) { foreach ($apiResponse['rates'] as $rateData) { @@ -1253,7 +1253,7 @@ class BobGo extends AbstractCarrierOnline implements CarrierInterface $result->append($rate); } } else { - $this->logger->info('No rates returned from API'); + $this->customLogger->info('No rates returned from API'); $error = $this->_rateErrorFactory->create(); $error->setCarrier($this->_code); $error->setCarrierTitle($this->getConfigData('title')); @@ -1261,7 +1261,7 @@ class BobGo extends AbstractCarrierOnline implements CarrierInterface return $error; } } catch (\Exception $e) { - $this->logger->error('Error fetching rates from API: ' . $e->getMessage()); + $this->customLogger->error('Error fetching rates from API: ' . $e->getMessage()); $error = $this->_rateErrorFactory->create(); $error->setCarrier($this->_code); $error->setCarrierTitle($this->getConfigData('title')); @@ -1287,10 +1287,10 @@ class BobGo extends AbstractCarrierOnline implements CarrierInterface if ($response->isSuccessful()) { return json_decode($response->getBody(), true); } else { - $this->logger->error('API request failed with status: ' . $response->getStatus()); + $this->customLogger->error('API request failed with status: ' . $response->getStatus()); } } catch (\Exception $e) { - $this->logger->error('Exception during API request: ' . $e->getMessage()); + $this->customLogger->error('Exception during API request: ' . $e->getMessage()); } return false; @@ -1302,3 +1302,6 @@ class BobGo extends AbstractCarrierOnline implements CarrierInterface } } + + + diff --git a/etc/env.php b/etc/env.php new file mode 100644 index 0000000..f8a2cb3 --- /dev/null +++ b/etc/env.php @@ -0,0 +1,19 @@ +<?php +return [ + 'backend' => [ + 'frontName' => 'admin' + ], + 'install' => [ + 'date' => 'Wed, 15 Jan 2020 00:00:00 +0000' + ], + 'system' => [ + 'default' => [ + 'dev' => [ + 'log' => [ + 'active' => '1' + ] + ] + ] + ], + // Other configurations... +]; diff --git a/etc/frontend/di.xml b/etc/frontend/di.xml index 2ee6f54..21df849 100644 --- a/etc/frontend/di.xml +++ b/etc/frontend/di.xml @@ -1,9 +1,22 @@ +<?xml version="1.0"?> +<!--<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">--> +<!-- <type name="Magento\Checkout\Block\Checkout\LayoutProcessor">--> +<!-- <plugin name="add_custom_field_checkout_shipping_form" type="BobGroup\BobGo\Plugin\Checkout\Block\LayoutProcessorPlugin" sortOrder="10"/>--> +<!-- <arguments>--> +<!-- <argument name="layoutProcessors" xsi:type="array">--> +<!-- <item name="orderattribute" xsi:type="object">BobGroup\BobGo\Plugin\Checkout\Block\LayoutProcessorPlugin</item>--> +<!-- </argument>--> +<!-- </arguments>--> +<!-- </type>--> +<!--</config>--> + + <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <type name="Magento\Checkout\Block\Checkout\LayoutProcessor"> - <plugin name="add_custom_field_checkout_shipping_form" type="BobGroup\BobGo\Plugin\Checkout\Block\LayoutProcessorPlugin" sortOrder="10"/> + <type name="BobGroup\BobGo\Logger\CustomLogger"> <arguments> - <argument name="layoutProcessors" xsi:type="array"> - <item name="orderattribute" xsi:type="object">BobGroup\BobGo\Plugin\Checkout\Block\LayoutProcessorPlugin</item> + <argument name="name" xsi:type="string">bobgo</argument> + <argument name="handlers" xsi:type="array"> + <item name="stream" xsi:type="object">BobGroup\BobGo\Logger\Handler</item> </argument> </arguments> </type> -- GitLab