Exemple #1
0
    def run_macro(self, par_str_list, asynch=False):
        if isinstance(par_str_list, (str, unicode)):
            par_str_list = par_str_list,

        if not hasattr(self, "Output"):
            import sys
            import logging
            Logger.addLevelName(15, "OUTPUT")

            def output(loggable, msg, *args, **kw):
                loggable.getLogObj().log(Logger.Output, msg, *args, **kw)
            Logger.output = output

            Logger.disableLogOutput()
            Logger.setLogLevel(Logger.Output)
            #filter = taurus.core.util.LogFilter(level=Logger.Output)
            formatter = logging.Formatter(fmt="%(message)s")
            Logger.setLogFormat("%(message)s")
            handler = logging.StreamHandler(stream=sys.stdout)
            #handler.addFilter(filter)
            Logger.addRootLogHandler(handler)
            #handler.setFormatter(formatter)
            #logger.addHandler(handler)
            #logger.addFilter(filter)
            self.__logging_info = handler, filter, formatter

            # result of a macro
            #Logger.addLevelName(18, "RESULT")

        return self.macro_executor.run(par_str_list, asynch=asynch)
Exemple #2
0
 def __redirect_std(self):
     """Internal method to redirect stdout and stderr to log messages"""
     Logger.addLevelName(Logger.Critical + 10, 'CONSOLE')
     # only redirect if display hook has not been set (IPython does it)
     if sys.displayhook == sys.__displayhook__:
         self._out = STD(name="OUT", std=sys.stdout)
         sys.stdout = self._out
         self._err = STD(name="ERR", std=sys.stderr)
         sys.stderr = self._err
Exemple #3
0
 def __redirect_std(self):
     """Internal method to redirect stdout and stderr to log messages"""
     Logger.addLevelName(Logger.Critical + 10, 'CONSOLE')
     # only redirect if display hook has not been set (IPython does it)
     if sys.displayhook == sys.__displayhook__:
         self._out = STD(name="OUT", std=sys.stdout)
         sys.stdout = self._out
         self._err = STD(name="ERR", std=sys.stderr)
         sys.stderr = self._err