Doug Hellmann said on Tue, May 24, 2016 at 02:53:51PM -0400: > Rather than forcing SpoolManager to be a singleton, maybe the thing > to do is build some functions for managing a singleton instance (or > one per type or whatever), and making that API convenient enough > that using the spool logger doesn't require adding a bunch of logic > and import_opt() calls all over the place. Since it looks like the > convenience function would require looking at a config option owned > by the application, it probably shouldn't live in oslo.log, but > putting it in a utility module in nova might make sense.
OK, so if I understand you correctly, we'll have EG nova/tools.py containing something like: CONF.import_opt("spool_api") SPOOL_MANAGERS = {} def get_api_logger(context): if not CONF.spool_api: return None mgr = SPOOL_MANAGERS.setdefault('api', SpoolManager('api')) return mgr.get_spool(context.request_id) then in normal code: LOG = logging.getLogger(__name__) def some_method(ctx): log = tools.get_api_logger(ctx) or LOG That seems OK to me, I'll work on it, thank you both. Alexis (lxsli) -- Nova developer, Hewlett-Packard Limited. Registered Office: Cain Road, Bracknell, Berkshire RG12 1HN. Registered Number: 00690597 England VAT number: GB 314 1496 79 __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev