add own logger

Cette révision appartient à :
Tobias Merkl 2020-09-14 17:14:07 +02:00
Parent fc6373de2b
révision 638fcc064a
Signature inconnue de Gitea
ID de la clé GPG: B971FFBCFA6D09BC
5 fichiers modifiés avec 86 ajouts et 19 suppressions

Voir le fichier

@ -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',
];

Voir le fichier

@ -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;
}

60
Core/Logging.php Fichier normal
Voir le fichier

@ -0,0 +1,60 @@
<?php
/**
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* @copyright (c) ProudCommerce | 2020
* @link www.proudcommerce.com
* @package psCacheWarmer
* @version 3.1.0
**/
namespace ProudCommerce\CacheWarmer\Core;
use \OxidEsales\Eshop\Core\Registry;
use \Monolog\Logger;
use \Monolog\Handler\StreamHandler;
/**
* Class Logging
*
* @package ProudCommerce\CacheWarmer\Core
*/
class Logging
{
/**
* @var array
*/
protected static $_aLogger = [];
/**
* @param string $sLogger
* @param string $sPath
* @param string $sLogLevel
*
* @return mixed
* @throws \Exception
*/
public static function getLogger(string $sLogger = '', string $sPath = '', string $sLogLevel = ''): Logger
{
$sLogger = (!empty($sLogger) ? $sLogger : 'OXID Logger');
if (!array_key_exists($sLogger, self::$_aLogger)) {
$sPath = ((!empty($sPath)) ? $sPath : Registry::getConfig()->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 ];
}
}

Voir le fichier

@ -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)

Voir le fichier

@ -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' => '',