(ILogger, bool) UpdateForCaller(ILogger root, ILogger cached, IReloadableLogger caller, out ILogger newRoot, out ILogger newCached, out bool frozen) { if (cached != null && root == _logger) { newRoot = default; newCached = default; frozen = _frozen; return(cached, frozen); // If we're frozen, then the caller hasn't observed this yet and should update. } newRoot = _logger; newCached = caller.ReloadLogger(); frozen = false; return(newCached, true); }
public ILogger ReloadLogger() { return(_configure(_parent.ReloadLogger())); }