From 3d3ce2e938237067b11a0d76144cea964128c1c8 Mon Sep 17 00:00:00 2001 From: Daniel Seifert Date: Fri, 31 Jan 2020 14:00:59 +0100 Subject: [PATCH 1/2] considers log levels to be recorded from settings --- Core/ErrorTypes.php | 34 +++++++++++++++++++++ Traits/ShopcontrolTrait.php | 4 +++ metadata.php | 5 ++- views/admin/de/oxpssentry_admin_de_lang.php | 14 +++------ views/admin/en/oxpssentry_admin_en_lang.php | 12 +++----- 5 files changed, 51 insertions(+), 18 deletions(-) create mode 100644 Core/ErrorTypes.php diff --git a/Core/ErrorTypes.php b/Core/ErrorTypes.php new file mode 100644 index 0000000..6aee9da --- /dev/null +++ b/Core/ErrorTypes.php @@ -0,0 +1,34 @@ + E_ALL, + 'warning' => E_ALL & ~E_NOTICE & ~E_USER_NOTICE & ~E_STRICT, + 'error' => E_ALL & ~E_NOTICE & ~E_USER_NOTICE & ~E_STRICT & ~E_DEPRECATED + & ~E_USER_DEPRECATED & ~E_WARNING & ~E_USER_WARNING, + 'fatal' => E_ALL & ~E_NOTICE & ~E_USER_NOTICE & ~E_STRICT & ~E_DEPRECATED + & ~E_USER_DEPRECATED & ~E_WARNING & ~E_USER_WARNING & ~E_RECOVERABLE_ERROR & ~E_USER_ERROR, + 'none' => E_ALL & ~E_NOTICE & ~E_USER_NOTICE & ~E_STRICT & ~E_DEPRECATED + & ~E_USER_DEPRECATED & ~E_WARNING & ~E_USER_WARNING & ~E_RECOVERABLE_ERROR & ~E_USER_ERROR + & ~E_ERROR & ~E_PARSE & ~E_CORE_ERROR & ~E_CORE_WARNING & ~E_COMPILE_ERROR & ~E_COMPILE_WARNING + ]; + + public static function getTypeClasses() + { + return array_keys(self::$typeClasses); + } + + public static function getTypesByClass($typeClass) + { + if (false === self::$typeClasses[trim(strtolower($typeClass))]) { + throw oxNew( Exception( "unknown error type class $typeClass")); + } + + return self::$typeClasses[trim(strtolower($typeClass))]; + } +} diff --git a/Traits/ShopcontrolTrait.php b/Traits/ShopcontrolTrait.php index 257f23b..69f43f4 100644 --- a/Traits/ShopcontrolTrait.php +++ b/Traits/ShopcontrolTrait.php @@ -3,6 +3,7 @@ namespace OxidProfessionalServices\Sentry\Traits; use OxidEsales\Eshop\Core\Registry; +use OxidProfessionalServices\Sentry\Core\ErrorTypes; use function Sentry\init; trait ShopcontrolTrait @@ -15,6 +16,9 @@ public function start($sClass = null, $sFunction = null, $aParams = null, $aView 'dsn' => $sentryUrl, 'environment' => Registry::getConfig()->getConfigParam('oxpsSentryEnvirnoment'), 'http_proxy' => Registry::getConfig()->getConfigParam('oxpsSentryProxy') ?: null, + 'error_types' => ErrorTypes::getTypesByClass( + Registry::getConfig()->getConfigParam('oxpsSentryLogLevel') + ) ]); } diff --git a/metadata.php b/metadata.php index 98c2424..0a3b777 100644 --- a/metadata.php +++ b/metadata.php @@ -1,4 +1,7 @@ 'oxpsSentryLogLevel', 'type' => 'select', 'value' => 'none', - 'constraints' => 'none|emergency|alert|critical|error|warning|notice|info|debug', + 'constraints' => implode('|', ErrorTypes::getTypeClasses()) ], ], ]; diff --git a/views/admin/de/oxpssentry_admin_de_lang.php b/views/admin/de/oxpssentry_admin_de_lang.php index 07787d7..21be22c 100644 --- a/views/admin/de/oxpssentry_admin_de_lang.php +++ b/views/admin/de/oxpssentry_admin_de_lang.php @@ -12,13 +12,9 @@ 'SHOP_MODULE_oxpsSentryProxy' => 'Proxy', 'SHOP_MODULE_oxpsSentryJsUrl' => 'JS-API Url', 'SHOP_MODULE_oxpsSentryLogLevel' => 'Log-Level, die direkt an sentry gesendet werden sollen', - 'SHOP_MODULE_oxpsSentryLogLevel_none' => 'none', - 'SHOP_MODULE_oxpsSentryLogLevel_emergency' => 'emergency', - 'SHOP_MODULE_oxpsSentryLogLevel_alert' => 'alert', - 'SHOP_MODULE_oxpsSentryLogLevel_critical' => 'critical', - 'SHOP_MODULE_oxpsSentryLogLevel_error' => 'error', - 'SHOP_MODULE_oxpsSentryLogLevel_warning' => 'warning', - 'SHOP_MODULE_oxpsSentryLogLevel_notice' => 'notice', - 'SHOP_MODULE_oxpsSentryLogLevel_info' => 'info', - 'SHOP_MODULE_oxpsSentryLogLevel_debug' => 'debug', + 'SHOP_MODULE_oxpsSentryLogLevel_none' => 'keine', + 'SHOP_MODULE_oxpsSentryLogLevel_error' => 'Fehler und höher', + 'SHOP_MODULE_oxpsSentryLogLevel_warning' => 'Warnungen und höher', + 'SHOP_MODULE_oxpsSentryLogLevel_info' => 'Info und höher', + 'SHOP_MODULE_oxpsSentryLogLevel_fatal' => 'fatale Fehler und höher', ]; diff --git a/views/admin/en/oxpssentry_admin_en_lang.php b/views/admin/en/oxpssentry_admin_en_lang.php index 8d5a5b8..860615f 100644 --- a/views/admin/en/oxpssentry_admin_en_lang.php +++ b/views/admin/en/oxpssentry_admin_en_lang.php @@ -13,12 +13,8 @@ 'SHOP_MODULE_oxpsSentryJsUrl' => 'JS-API Url', 'SHOP_MODULE_oxpsSentryLogLevel' => 'Log-Level, to send logs directly to sentry', 'SHOP_MODULE_oxpsSentryLogLevel_none' => 'none', - 'SHOP_MODULE_oxpsSentryLogLevel_emergency' => 'emergency', - 'SHOP_MODULE_oxpsSentryLogLevel_alert' => 'alert', - 'SHOP_MODULE_oxpsSentryLogLevel_critical' => 'critical', - 'SHOP_MODULE_oxpsSentryLogLevel_error' => 'error', - 'SHOP_MODULE_oxpsSentryLogLevel_warning' => 'warning', - 'SHOP_MODULE_oxpsSentryLogLevel_notice' => 'notice', - 'SHOP_MODULE_oxpsSentryLogLevel_info' => 'info', - 'SHOP_MODULE_oxpsSentryLogLevel_debug' => 'debug', + 'SHOP_MODULE_oxpsSentryLogLevel_error' => 'errors and above', + 'SHOP_MODULE_oxpsSentryLogLevel_warning' => 'warnings and above', + 'SHOP_MODULE_oxpsSentryLogLevel_info' => 'info and above', + 'SHOP_MODULE_oxpsSentryLogLevel_fatal' => 'fatal errors and above', ]; From d8dc4340ea42369ad6846ceeaefca27157303027 Mon Sep 17 00:00:00 2001 From: Daniel Seifert Date: Fri, 31 Jan 2020 21:47:56 +0100 Subject: [PATCH 2/2] change settings to new PHP error level option --- Traits/ShopcontrolTrait.php | 2 +- metadata.php | 9 +++++- views/admin/de/oxpssentry_admin_de_lang.php | 36 +++++++++++++-------- views/admin/en/oxpssentry_admin_en_lang.php | 36 +++++++++++++-------- 4 files changed, 55 insertions(+), 28 deletions(-) diff --git a/Traits/ShopcontrolTrait.php b/Traits/ShopcontrolTrait.php index 69f43f4..b4e225c 100644 --- a/Traits/ShopcontrolTrait.php +++ b/Traits/ShopcontrolTrait.php @@ -17,7 +17,7 @@ public function start($sClass = null, $sFunction = null, $aParams = null, $aView 'environment' => Registry::getConfig()->getConfigParam('oxpsSentryEnvirnoment'), 'http_proxy' => Registry::getConfig()->getConfigParam('oxpsSentryProxy') ?: null, 'error_types' => ErrorTypes::getTypesByClass( - Registry::getConfig()->getConfigParam('oxpsSentryLogLevel') + Registry::getConfig()->getConfigParam('oxpsSentryPHPErrorLevel') ?: 'info' ) ]); } diff --git a/metadata.php b/metadata.php index 0a3b777..103cff7 100644 --- a/metadata.php +++ b/metadata.php @@ -54,7 +54,14 @@ 'name' => 'oxpsSentryLogLevel', 'type' => 'select', 'value' => 'none', - 'constraints' => implode('|', ErrorTypes::getTypeClasses()) + 'constraints' => 'none|emergency|alert|critical|error|warning|notice|info|debug', ], + [ + 'group' => 'main', + 'name' => 'oxpsSentryPHPErrorLevel', + 'type' => 'select', + 'value' => 'info', + 'constraints' => implode('|', ErrorTypes::getTypeClasses()) + ] ], ]; diff --git a/views/admin/de/oxpssentry_admin_de_lang.php b/views/admin/de/oxpssentry_admin_de_lang.php index 21be22c..83876f8 100644 --- a/views/admin/de/oxpssentry_admin_de_lang.php +++ b/views/admin/de/oxpssentry_admin_de_lang.php @@ -2,19 +2,29 @@ $sLangName = 'Deutsch'; $aLang = [ - 'charset' => 'UTF-8', - 'oxpssentry' => 'Sentry Integration für OXID', + 'charset' => 'UTF-8', + 'oxpssentry' => 'Sentry Integration für OXID', // Settings - 'SHOP_MODULE_GROUP_main' => 'Allgemein', - 'SHOP_MODULE_oxpsSentryEnvirnoment' => 'Name des Environments', - 'SHOP_MODULE_oxpsSentryPhpUrl' => 'PHP-API Url', - 'SHOP_MODULE_oxpsSentryProxy' => 'Proxy', - 'SHOP_MODULE_oxpsSentryJsUrl' => 'JS-API Url', - 'SHOP_MODULE_oxpsSentryLogLevel' => 'Log-Level, die direkt an sentry gesendet werden sollen', - 'SHOP_MODULE_oxpsSentryLogLevel_none' => 'keine', - 'SHOP_MODULE_oxpsSentryLogLevel_error' => 'Fehler und höher', - 'SHOP_MODULE_oxpsSentryLogLevel_warning' => 'Warnungen und höher', - 'SHOP_MODULE_oxpsSentryLogLevel_info' => 'Info und höher', - 'SHOP_MODULE_oxpsSentryLogLevel_fatal' => 'fatale Fehler und höher', + 'SHOP_MODULE_GROUP_main' => 'Allgemein', + 'SHOP_MODULE_oxpsSentryEnvirnoment' => 'Name des Environments', + 'SHOP_MODULE_oxpsSentryPhpUrl' => 'PHP-API Url', + 'SHOP_MODULE_oxpsSentryProxy' => 'Proxy', + 'SHOP_MODULE_oxpsSentryJsUrl' => 'JS-API Url', + 'SHOP_MODULE_oxpsSentryLogLevel' => 'Log-Level, die direkt an sentry gesendet werden sollen', + 'SHOP_MODULE_oxpsSentryLogLevel_none' => 'none', + 'SHOP_MODULE_oxpsSentryLogLevel_emergency' => 'emergency', + 'SHOP_MODULE_oxpsSentryLogLevel_alert' => 'alert', + 'SHOP_MODULE_oxpsSentryLogLevel_critical' => 'critical', + 'SHOP_MODULE_oxpsSentryLogLevel_error' => 'error', + 'SHOP_MODULE_oxpsSentryLogLevel_warning' => 'warning', + 'SHOP_MODULE_oxpsSentryLogLevel_notice' => 'notice', + 'SHOP_MODULE_oxpsSentryLogLevel_info' => 'info', + 'SHOP_MODULE_oxpsSentryLogLevel_debug' => 'debug', + 'SHOP_MODULE_oxpsSentryPHPErrorLevel' => 'zu übertragende PHP Error Level', + 'SHOP_MODULE_oxpsSentryPHPErrorLevel_none' => 'keine', + 'SHOP_MODULE_oxpsSentryPHPErrorLevel_error' => 'Fehler und höher', + 'SHOP_MODULE_oxpsSentryPHPErrorLevel_warning' => 'Warnungen und höher', + 'SHOP_MODULE_oxpsSentryPHPErrorLevel_info' => 'Info und höher', + 'SHOP_MODULE_oxpsSentryPHPErrorLevel_fatal' => 'fatale Fehler und höher', ]; diff --git a/views/admin/en/oxpssentry_admin_en_lang.php b/views/admin/en/oxpssentry_admin_en_lang.php index 860615f..3887823 100644 --- a/views/admin/en/oxpssentry_admin_en_lang.php +++ b/views/admin/en/oxpssentry_admin_en_lang.php @@ -2,19 +2,29 @@ $sLangName = 'English'; $aLang = [ - 'charset' => 'UTF-8', - 'oxpssentry' => 'Sentry integration for OXID', + 'charset' => 'UTF-8', + 'oxpssentry' => 'Sentry integration for OXID', // Settings - 'SHOP_MODULE_GROUP_main' => 'General', - 'SHOP_MODULE_oxpsSentryEnvirnoment' => 'Environment Name', - 'SHOP_MODULE_oxpsSentryPhpUrl' => 'PHP-API Url', - 'SHOP_MODULE_oxpsSentryProxy' => 'Proxy', - 'SHOP_MODULE_oxpsSentryJsUrl' => 'JS-API Url', - 'SHOP_MODULE_oxpsSentryLogLevel' => 'Log-Level, to send logs directly to sentry', - 'SHOP_MODULE_oxpsSentryLogLevel_none' => 'none', - 'SHOP_MODULE_oxpsSentryLogLevel_error' => 'errors and above', - 'SHOP_MODULE_oxpsSentryLogLevel_warning' => 'warnings and above', - 'SHOP_MODULE_oxpsSentryLogLevel_info' => 'info and above', - 'SHOP_MODULE_oxpsSentryLogLevel_fatal' => 'fatal errors and above', + 'SHOP_MODULE_GROUP_main' => 'General', + 'SHOP_MODULE_oxpsSentryEnvirnoment' => 'Environment Name', + 'SHOP_MODULE_oxpsSentryPhpUrl' => 'PHP-API Url', + 'SHOP_MODULE_oxpsSentryProxy' => 'Proxy', + 'SHOP_MODULE_oxpsSentryJsUrl' => 'JS-API Url', + 'SHOP_MODULE_oxpsSentryLogLevel' => 'Log-Level, to send logs directly to sentry', + 'SHOP_MODULE_oxpsSentryLogLevel_none' => 'none', + 'SHOP_MODULE_oxpsSentryLogLevel_emergency' => 'emergency', + 'SHOP_MODULE_oxpsSentryLogLevel_alert' => 'alert', + 'SHOP_MODULE_oxpsSentryLogLevel_critical' => 'critical', + 'SHOP_MODULE_oxpsSentryLogLevel_error' => 'error', + 'SHOP_MODULE_oxpsSentryLogLevel_warning' => 'warning', + 'SHOP_MODULE_oxpsSentryLogLevel_notice' => 'notice', + 'SHOP_MODULE_oxpsSentryLogLevel_info' => 'info', + 'SHOP_MODULE_oxpsSentryLogLevel_debug' => 'debug', + 'SHOP_MODULE_oxpsSentryPHPErrorLevel' => 'PHP error levels to be send', + 'SHOP_MODULE_oxpsSentryPHPErrorLevel_none' => 'none', + 'SHOP_MODULE_oxpsSentryPHPErrorLevel_error' => 'errors and above', + 'SHOP_MODULE_oxpsSentryPHPErrorLevel_warning' => 'warnings and above', + 'SHOP_MODULE_oxpsSentryPHPErrorLevel_info' => 'infos and above', + 'SHOP_MODULE_oxpsSentryPHPErrorLevel_fatal' => 'fatal errors and above', ];