function resolve(opt) {
	if (isObject(opt) && isInheritedClass(opt, Loggers.Base)) {
		return opt;
	} else if (isString(opt)) {
		let LoggerClass = getByName(opt);
		if (LoggerClass) return new LoggerClass();
	} else if (isObject(opt)) {
		let LoggerClass = getByName(opt.type);
		if (LoggerClass) return new LoggerClass(opt.options);
		else
			throw new BrokerOptionsError(`Invalid logger configuration. Type: '${opt.type}'`, {
				type: opt.type
			});
	}

	throw new BrokerOptionsError(`Invalid logger configuration: '${opt}'`, { type: opt });
}
Resolve reporter by name

@param {object|string} opt
@returns {Reporter}
@memberof ServiceBroker