If the logger is not set by calling one of these methods Growthbook::setLogger(...) or Growthbook::withLogger(...) then an exception raised by Growthbook::withTrackingCallback(...) is just silently "swallowed" here.
It would be better to re-throw the exception if the logger is not set and let an app die... otherwise nobody will notice there's an error.