On Thu, 21 Feb 2013 15:30:27 +0900 (JST) [email protected] (YAMAMOTO Takashi) wrote:
> hi, > >> On Fri, 8 Feb 2013 12:28:12 +0900 >> YAMAMOTO Takashi <[email protected]> wrote: >> >>> Signed-off-by: YAMAMOTO Takashi <[email protected]> >>> >>> BRICK dpset >>> PROVIDES EventPortModify TO ['PortSet'] >>> PROVIDES EventPortAdd TO ['QuantumAdapter', 'PortSet'] >>> PROVIDES EventDP TO ['QuantumAdapter', 'PortSet'] >>> PROVIDES EventPortDelete TO ['QuantumAdapter', 'PortSet'] >>> CONSUMES EventOFPSwitchFeatures >>> CONSUMES EventOFPStateChange >>> CONSUMES EventOFPPortStatus >>> BRICK conf_switch >>> PROVIDES EventConfSwitchDel TO ['TunnelPortUpdater', 'QuantumAdapter'] >>> PROVIDES EventConfSwitchSet TO ['TunnelPortUpdater', 'QuantumAdapter'] >>> BRICK network >>> PROVIDES EventNetworkDel TO ['PortSet'] >>> PROVIDES EventNetworkPort TO ['TunnelPortUpdater', 'PortSet'] >>> PROVIDES EventMacAddress TO ['PortSet'] >>> BRICK TunnelPortUpdater >>> CONSUMES EventConfSwitchDel >>> CONSUMES EventNetworkPort >>> CONSUMES EventConfSwitchSet >>> : >>> : >>> : >>> : >>> --- >>> ryu/base/app_manager.py | 7 +++++++ >>> 1 file changed, 7 insertions(+) >>> >>> diff --git a/ryu/base/app_manager.py b/ryu/base/app_manager.py >>> index 2fdd28a..321a5c8 100644 >>> --- a/ryu/base/app_manager.py >>> +++ b/ryu/base/app_manager.py >>> @@ -175,6 +175,13 @@ class AppManager(object): >>> brick = SERVICE_BRICKS[name] >>> brick.register_observer(m.ev_cls, i.name) >>> >>> + for brick, i in SERVICE_BRICKS.items(): >>> + LOG.debug("BRICK %s" % brick) >>> + for ev_cls, list in i.observers.items(): >>> + LOG.debug(" PROVIDES %s TO %s" % (ev_cls.__name__, list)) >>> + for ev_cls, handler in i.event_handlers.items(): >>> + LOG.debug(" CONSUMES %s" % (ev_cls.__name__,)) >> >> I applied this but I don't think this is the correct approach. > > sorry, i don't understand. > what approach are you talking about? I don't like app_manager's global logger. I prefer logging per service. diff --git a/ryu/base/app_manager.py b/ryu/base/app_manager.py index a9895a2..b913159 100644 --- a/ryu/base/app_manager.py +++ b/ryu/base/app_manager.py @@ -56,12 +56,14 @@ class RyuApp(object): def __init__(self, *_args, **_kwargs): super(RyuApp, self).__init__() - self.name = self.__class__.__name__ + if not getattr(self, 'name', None): + self.name = self.__class__.__name__ self.event_handlers = {} self.observers = {} self.threads = [] self.events = Queue() self.threads.append(gevent.spawn(self._event_loop)) + self.log = logging.getLogger(self.name) def register_handler(self, ev_cls, handler): assert callable(handler) @@ -90,12 +92,12 @@ class RyuApp(object): def send_event(self, name, ev): if name in SERVICE_BRICKS: - LOG.debug("EVENT %s->%s %s" % - (self.name, name, ev.__class__.__name__)) + self.log.debug("EVENT %s->%s %s" % + (self.name, name, ev.__class__.__name__)) SERVICE_BRICKS[name]._send_event(ev) else: - LOG.debug("EVENT LOST %s->%s %s" % - (self.name, name, ev.__class__.__name__)) + self.log.debug("EVENT LOST %s->%s %s" % + (self.name, name, ev.__class__.__name__)) def send_event_to_observers(self, ev): for observer in self.get_observers(ev): @@ -185,11 +187,11 @@ class AppManager(object): brick.register_observer(m.ev_cls, i.name) for brick, i in SERVICE_BRICKS.items(): - LOG.debug("BRICK %s" % brick) + i.log.debug("BRICK %s" % brick) for ev_cls, list in i.observers.items(): - LOG.debug(" PROVIDES %s TO %s" % (ev_cls.__name__, list)) + i.log.debug(" PROVIDES %s TO %s" % (ev_cls.__name__, list)) for ev_cls, handler in i.event_handlers.items(): - LOG.debug(" CONSUMES %s" % (ev_cls.__name__,)) + i.log.debug(" CONSUMES %s" % (ev_cls.__name__,)) def close(self): def close_all(close_dict): diff --git a/ryu/controller/ofp_handler.py b/ryu/controller/ofp_handler.py index 2ac7251..a35cebb 100644 --- a/ryu/controller/ofp_handler.py +++ b/ryu/controller/ofp_handler.py @@ -43,8 +43,8 @@ LOG = logging.getLogger('ryu.controller.ofp_handler') class OFPHandler(ryu.base.app_manager.RyuApp): def __init__(self, *args, **kwargs): - super(OFPHandler, self).__init__(*args, **kwargs) self.name = 'ofp_event' + super(OFPHandler, self).__init__(*args, **kwargs) @staticmethod def _hello_failed(datapath, error_desc): ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ Ryu-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ryu-devel
