From 638fcc064acac0b3111ad70880148e5022c7d95d Mon Sep 17 00:00:00 2001 From: Tobias Merkl Date: Mon, 14 Sep 2020 17:14:07 +0200 Subject: [PATCH] add own logger --- .../views/admin/de/pscachewarmer_lang.php | 11 ++-- Core/CacheWarmer.php | 22 ++++--- Core/Logging.php | 60 +++++++++++++++++++ README.md | 4 +- metadata.php | 8 +-- 5 files changed, 86 insertions(+), 19 deletions(-) create mode 100644 Core/Logging.php diff --git a/Application/views/admin/de/pscachewarmer_lang.php b/Application/views/admin/de/pscachewarmer_lang.php index ceed8aa..b12eef9 100644 --- a/Application/views/admin/de/pscachewarmer_lang.php +++ b/Application/views/admin/de/pscachewarmer_lang.php @@ -6,9 +6,9 @@ * (at your option) any later version. * * @copyright (c) ProudCommerce | 2020 - * @link www.proudcommerce.com - * @package psCacheWarmer - * @version 3.0.0 + * @link www.proudcommerce.com + * @package psCacheWarmer + * @version 3.0.0 **/ $sLangName = "Deutsch"; @@ -21,9 +21,10 @@ $aLang = [ 'SHOP_MODULE_GROUP_psCacheWarmerConfig' => 'Einstellungen', 'SHOP_MODULE_psCacheWarmerSitemapUrl' => 'XML-Sitemap URL', 'SHOP_MODULE_psCacheWarmerKey' => 'Cronjob-Key', + 'SHOP_MODULE_psCacheWarmerHttpCodes' => 'gültige HTTP-Responsecode (OK im LOG-File, sonst ERROR)', 'SHOP_MODULE_psCacheWarmerUser' => 'Basic-Auth Benutzer', 'SHOP_MODULE_psCacheWarmerPass' => 'Basic-Auth Kennwort', - 'SHOP_MODULE_psCacheWarmerWriteCsv' => 'Logfile für gesamten Crawl', - 'SHOP_MODULE_psCacheWarmerWriteCsvOnlyError' => 'Logfile nur bei HTTP-Codes != 200', + 'SHOP_MODULE_psCacheWarmerWriteCsv' => 'LOG-File für gesamten Crawl', + 'SHOP_MODULE_psCacheWarmerWriteCsvOnlyError' => 'LOG-File nur wenn HTTP-Responsecode != 200', ]; diff --git a/Core/CacheWarmer.php b/Core/CacheWarmer.php index 6a39fc7..0ee23de 100644 --- a/Core/CacheWarmer.php +++ b/Core/CacheWarmer.php @@ -6,9 +6,9 @@ * (at your option) any later version. * * @copyright (c) ProudCommerce | 2020 - * @link www.proudcommerce.com - * @package psCacheWarmer - * @version 3.0.1 + * @link www.proudcommerce.com + * @package psCacheWarmer + * @version 3.1.0 **/ namespace ProudCommerce\CacheWarmer\Core; @@ -17,6 +17,7 @@ use OxidEsales\Eshop\Core\Registry; /** * Class CacheWarmer + * * @package ProudCommerce\CacheWarmer\Core */ class CacheWarmer @@ -39,6 +40,7 @@ class CacheWarmer /** * @param $sUrl + * * @return false|resource */ protected function _runCurlConnect($sUrl) @@ -52,6 +54,7 @@ class CacheWarmer $sPassword = Registry::getConfig()->getShopConfVar('psCacheWarmerPass'); curl_setopt($oCurl, CURLOPT_USERPWD, $sUsername . ":" . $sPassword); curl_exec($oCurl); + return $oCurl; } @@ -78,13 +81,14 @@ class CacheWarmer print_r($aLog); if (!empty($aLog) && ((Registry::getConfig()->getShopConfVar('psCacheWarmerWriteCsvOnlyError') == true && $httpStatus != '200') || Registry::getConfig()->getShopConfVar('psCacheWarmerWriteCsv') == true)) { - Registry::getUtils()->writeToLog(implode(' | ', $aLog) . "\r", 'pscachewarmer_' . date("d.m.Y H:i:s") . '.log'); + $logger = Logging::getLogger('psCacheWarmer', Registry::getConfig()->getLogsDir() . 'pscachewarmer_' . date("dmY_His") . '.log'); + $logger->info(implode(' | ', $aLog) . "\r"); } - } /** * @param string $sSitemapUrl + * * @return array */ protected function _getSitemapContent($sSitemapUrl = "") @@ -104,17 +108,18 @@ class CacheWarmer if ($oSitemap = @simplexml_load_string($sSitemapXmlData)) { if (count($oSitemap->sitemap) > 0) { foreach ($oSitemap->sitemap as $oSubSitemap) { - $sNextSitemapUrl = (string)$oSubSitemap->loc; + $sNextSitemapUrl = (string) $oSubSitemap->loc; $aUrls = array_merge($aUrls, $this->_getSitemapContent($sNextSitemapUrl)); } } if (count($oSitemap->url) > 0) { foreach ($oSitemap->url as $oSitemapUrl) { - $aUrls[] = (string)$oSitemapUrl->loc; + $aUrls[] = (string) $oSitemapUrl->loc; } } } + return $aUrls; } @@ -123,8 +128,9 @@ class CacheWarmer */ protected function _getSitemapUrl() { - $sSitemapUrl = Registry::getConfig()->getShopURL(); + $sSitemapUrl = Registry::getConfig()->getConfigParam('sShopURL'); $sSitemapUrl .= Registry::getConfig()->getShopConfVar('psCacheWarmerSitemapUrl'); + return $sSitemapUrl; } diff --git a/Core/Logging.php b/Core/Logging.php new file mode 100644 index 0000000..df8be14 --- /dev/null +++ b/Core/Logging.php @@ -0,0 +1,60 @@ +getLogsDir() . 'oxideshop.log'); + $sLogLevel = strtoupper($sLogLevel); + $sLogLevel = ((!empty($sLogLevel) && defined("Logger::$sLogLevel")) ? constant("Logger::$sLogLevel") : Logger::DEBUG); + self::$_aLogger[ $sLogger ] = new Logger($sLogger); + self::$_aLogger[ $sLogger ]->pushHandler( + new StreamHandler( + $sPath, + $sLogLevel + ) + ); + } + + return self::$_aLogger[ $sLogger ]; + } +} diff --git a/README.md b/README.md index a4c0628..ab5faff 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,8 @@ Usage Changelog - 2020-08-18 3.0.1 fix getting shopurl (ee) - 2020-08-17 3.0.0 cli only, some improvements + 2020-09-14 3.1.0 add own logger + 2020-08-17 3.0.0 cli only, some improvements 2020-08-06 2.2.1 fix for OXID 6.2 2019-07-19 2.2.0 Write Report in a file (PR #3) 2019-07-17 2.1.0 add error 500 check (PR #2) diff --git a/metadata.php b/metadata.php index d383fb8..5e1c6ef 100644 --- a/metadata.php +++ b/metadata.php @@ -6,9 +6,9 @@ * (at your option) any later version. * * @copyright (c) ProudCommerce | 2020 - * @link www.proudcommerce.com - * @package psCacheWarmer - * @version 3.0.1 + * @link www.proudcommerce.com + * @package psCacheWarmer + * @version 3.1.0 **/ /** @@ -27,7 +27,7 @@ $aModule = [ 'en' => 'Automatically calling urls using the xml-sitemap, eg. for cache warmup.', ], 'thumbnail' => 'logo_pc-os.jpg', - 'version' => '3.0.1', + 'version' => '3.1.0', 'author' => 'ProudCommerce', 'url' => 'https://github.com/proudcommerce/psCacheWarmer', 'email' => '',