[pytango] 425/483: Better logging

Sandor Bodo-Merle sbodomerle-guest at moszumanska.debian.org
Thu Sep 28 19:15:08 UTC 2017


This is an automated email from the git hooks/post-receive script.

sbodomerle-guest pushed a commit to annotated tag bliss_8.10
in repository pytango.

commit 58b909c10205ee9615c0104daf96712a5313bbd1
Author: coutinho <coutinho at esrf.fr>
Date:   Mon Dec 15 08:38:03 2014 +0100

    Better logging
---
 src/boost/python/server.py | 71 ++++++++++++++++++++++++----------------------
 1 file changed, 37 insertions(+), 34 deletions(-)

diff --git a/src/boost/python/server.py b/src/boost/python/server.py
index 9ca8a8d..47af7d4 100644
--- a/src/boost/python/server.py
+++ b/src/boost/python/server.py
@@ -200,12 +200,12 @@ def check_dev_klass_attr_read_method(tango_device_klass, attribute):
             runner = _get_runner()
             if runner:
                 ret = runner.execute(read_method, self, attr)
-            else:            
+            else:
                 ret = read_method(self, attr)
             return ret
-        
+
     method_name = "__read_{0}_wrapper__".format(attribute.attr_name)
-    attribute.read_method_name = method_name        
+    attribute.read_method_name = method_name
 
     setattr(tango_device_klass, method_name, read_attr)
 
@@ -857,7 +857,7 @@ def __server_run(classes, args=None, msg_stream=sys.stdout, util=None,
         if runner:
             runner.stop()
         log.debug("Tango loop exit")
-        
+
     if gevent_mode:
         runner = _create_runner()
         start_new_thread = runner._threading.start_new_thread
@@ -866,7 +866,7 @@ def __server_run(classes, args=None, msg_stream=sys.stdout, util=None,
         log.debug("Runner finished")
     else:
         tango_loop()
-        
+
     return util
 
 def run(classes, args=None, msg_stream=sys.stdout,
@@ -1053,7 +1053,7 @@ def _create_runner():
     global __RUNNER
     if __RUNNER:
         return __RUNNER
-    
+
     try:
         from queue import Queue
     except:
@@ -1103,7 +1103,7 @@ def _create_runner():
                                timeout=timeout)
 
         def execute(self, func, *args, **kwargs):
-            event = self._threading.Event() 
+            event = self._threading.Event()
             task = self.Task(event, func, *args, **kwargs)
             self.__tasks.put(task)
             self.__watcher.send()
@@ -1156,13 +1156,14 @@ def __to_tango_type_fmt(value):
             elif shape_l == 2:
                 dfmt = AttrDataFormat.IMAGE
                 max_dim_x = max(2**16, value.shape[0])
-                max_dim_y = max(2**16, value.shape[1])      
+                max_dim_y = max(2**16, value.shape[1])
         else:
             dtype = CmdArgType.DevEncoded
     return dtype, dfmt, max_dim_x, max_dim_y
 
 
 def create_tango_class(obj, tango_class_name=None, member_filter=None):
+    log = logging.getLogger("PyTango.Server")
 
     obj_klass = obj.__class__
     obj_klass_name = obj_klass.__name__
@@ -1190,17 +1191,18 @@ def create_tango_class(obj, tango_class_name=None, member_filter=None):
     for name in dir(obj):
         if name.startswith("_"):
             continue
-#        logging.info("inspecting %s.%s", obj_klass_name, name)
+        log.debug("inspecting %s.%s", obj_klass_name, name)
         try:
             member = getattr(obj, name)
         except:
-            logging.warning("Failed to inspect member '%s.%s'",
-                            obj_klass_name, name)
-            logging.debug("Details:", exc_info=1)
+            log.warning("failed to inspect member '%s.%s'",
+                        obj_klass_name, name)
+            log.debug("Details:", exc_info=1)
         if inspect.isclass(member) or inspect.ismodule(member):
             continue
         if member_filter and not member_filter(obj, tango_class_name,
                                                name, member):
+            log.debug("filtered out %s from %s", name, tango_class_name)
             continue
         if inspect.isroutine(member):
             func = member
@@ -1266,17 +1268,17 @@ def create_tango_class(obj, tango_class_name=None, member_filter=None):
                     if runner:
                         value = runner.execute(getattr, obj, name)
                     else:
-                        value = getattr(obj, name)                        
+                        value = getattr(obj, name)
                     attr.set_value(value)
                 def write(dev, attr):
                     server = Server()
                     runner = server.runner
-                    name = attr.get_name()                        
+                    name = attr.get_name()
                     value = attr.get_write_value()
                     if runner:
                         runner.execute(setattr, obj, name, value)
                     else:
-                        setattr(obj, name, value)                        
+                        setattr(obj, name, value)
             read.__name__ = "_read_" + name
             setattr(DeviceDispatcher, read.__name__, read)
 
@@ -1321,7 +1323,7 @@ class _Server:
         @property
         def obj(self):
             return self.__obj()
-    
+
     def __init__(self, server_name, server_type=None, port=None,
                  event_loop_callback=None, post_init_callback=None,
                  auto_clean=True, green_mode=None, tango_classes=None,
@@ -1343,8 +1345,8 @@ class _Server:
             self.__runner = _create_runner()
         else:
             self.__runner = None
-        self.log = logging.getLogger("PyTango")
-    
+        self.log = logging.getLogger("PyTango.Server")
+
     def __build_args(self):
         args = [self.server_type, self.__server_name]
         if self.__port is not None:
@@ -1375,7 +1377,7 @@ class _Server:
     def green_mode(self):
         gm = self.__green_mode
         if gm is None:
-            from PyTango import get_green_mode            
+            from PyTango import get_green_mode
             gm = get_green_mode()
         return gm
 
@@ -1401,7 +1403,7 @@ class _Server:
 
     def get_tango_object(self, name):
         return self.__objects.get(name.lower())
-    
+
     def get_tango_class(self, tango_class_name):
         for klass in self.__tango_classes:
             if klass.TangoClassName == tango_class_name:
@@ -1418,7 +1420,7 @@ class _Server:
                 raise ValueError
         else:
             raise NotImplementedError
-        
+
     def register_tango_class(self, klass):
         if self.__running:
             raise RuntimeError("Cannot create new Tango class while "
@@ -1458,7 +1460,7 @@ class _Server:
         if self.gevent_mode:
             self.__runner.execute(cb)
         else:
-            cb()            
+            cb()
 
     def __clean_up(self):
         self.log.debug("clean up")
@@ -1473,7 +1475,8 @@ class _Server:
                     dserver.ping()
                     raise Exception("Server already running")
                 except:
-                    logging.warning("Last time server was not properly shutdown!")
+                    self.log.warning("Last time server was not properly "
+                                     "shutdown!")
             devices = db.get_device_class_list(server_instance)[::2]
             for device in devices:
                 db.delete_device(device)
@@ -1484,13 +1487,13 @@ class _Server:
 
     def __clean_up_process(self):
         if not self.__auto_clean:
-            return 
+            return
         clean_up = _CLEAN_UP_TEMPLATE.format(server_instance=self.server_instance)
         import subprocess
         res = subprocess.call([sys.executable, "-c", clean_up])
         if res:
             self.log.error("Failed to cleanup")
-                
+
     def __prepare(self):
         self.log.debug("prepare")
         self.__clean_up()
@@ -1508,13 +1511,13 @@ class _Server:
                 db.put_device_alias(obj.full_name, obj.alias)
 
     def __initialize(self):
-        self.log.debug("initialize")        
+        self.log.debug("initialize")
         gevent_mode = self.gevent_mode
         event_loop = self.__event_loop_callback
-        
+
         util = self.tango_util
         u_instance = util.instance()
-        
+
         if gevent_mode:
             if event_loop:
                 event_loop = functools.partial(self.__runner.execute,
@@ -1523,7 +1526,7 @@ class _Server:
             u_instance.server_set_event_loop(event_loop)
 
         _add_classes(util, self.__tango_classes)
-        
+
         if gevent_mode:
             start_new_thread = self.__runner._threading.start_new_thread
             tango_thread_id = start_new_thread(self.__tango_loop, ())
@@ -1533,7 +1536,7 @@ class _Server:
             return self.__runner.run(timeout=timeout)
         else:
             self.__tango_loop()
-        
+
     def __tango_loop(self):
         self.log.debug("tango_loop")
         self.__running = True
@@ -1546,10 +1549,10 @@ class _Server:
             self.__runner.stop()
         if self.__auto_clean:
             self.__clean_up_process()
-        self.log.debug("Tango loop exit")        
-        
+        self.log.debug("Tango loop exit")
+
     def run(self, timeout=None):
-        self.log.debug("run")        
+        self.log.debug("run")
         gevent_mode = self.gevent_mode
         running = self.__running
         if not running:
@@ -1566,7 +1569,7 @@ def Server(server_name=None, server_type=None, port=None,
            event_loop_callback=None, post_init_callback=None,
            auto_clean=True, green_mode=None):
     """Experimental server class. Not part of the official API"""
-    
+
     global __SERVER
     if __SERVER is None:
         if server_name is None:

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/pytango.git



More information about the debian-science-commits mailing list