From f3ec3f9e77da68f1fbb8bc88ff6a5c172b3dc0ba Mon Sep 17 00:00:00 2001 From: Tim Otten <totten@civicrm.org> Date: Wed, 8 Jun 2022 21:17:51 -0700 Subject: [PATCH] dev/core#3502 - CiviEventDispatcher - Tune down the warning --- Civi/Core/CiviEventDispatcher.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Civi/Core/CiviEventDispatcher.php b/Civi/Core/CiviEventDispatcher.php index 14f944df2f4e..d4564e5b4c25 100644 --- a/Civi/Core/CiviEventDispatcher.php +++ b/Civi/Core/CiviEventDispatcher.php @@ -193,7 +193,12 @@ public function dispatch($eventName, Event $event = NULL) { // This condition indicates a structural problem and merits a consistent failure-mode. // If you believe some special case merits an exemption, then you could add it to `$bootDispatchPolicy`. - throw new \RuntimeException("The event \"$eventName\" attempted to fire before CiviCRM was fully loaded. Skipping."); + // An `Exception` would be ideal for preventing new bugs, but it can be too noisy for systems with pre-existing bugs. + // throw new \RuntimeException("The event \"$eventName\" attempted to fire before CiviCRM was fully loaded. Skipping."); + // Complain to web-user and sysadmin. Log a backtrace. We're pre-boot, so don't use high-level services. + error_log("The event \"$eventName\" attempted to fire before CiviCRM was fully loaded. Skipping.\n" . \CRM_Core_Error::formatBacktrace(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS), FALSE)); + trigger_error("The event \"$eventName\" attempted to fire before CiviCRM was fully loaded. Skipping.", E_USER_WARNING); + return $event; default: throw new \RuntimeException("The dispatch policy for \"$eventName\" is unrecognized ($mode).");