. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ use Espo\Core\Exceptions\Error; use Espo\Core\Container; use Espo\Core\Utils\Config; /** @noinspection PhpMultipleClassDeclarationsInspection */ class BeforeUpgrade { /** * @throws Error */ public function run(Container $container): void { $this->checkLogHandlers($container); } /** * @throws Error */ private function checkLogHandlers(Container $container): void { $config = $container->getByClass(Config::class); if (!$config->get('logger.handlerList')) { return; } $msg = "You need to remove logger.handlerList from the `data/config-internal.php` before upgrading. " . "In EspoCRM v8.1, Monolog library was updated, custom log handlers may be incompatible. ". "You will be able to return the handlers back after the upgrade."; throw new Error($msg); } }