Ignore:
Timestamp:
08/05/10 14:40:38 (14 years ago)
Author:
Malte Marquarding
Message:

Ticket #193: the rcParamsverbose? flag is only used in standard asap cli mode. Otherwise log messages are always send to the logger and one needs to call asaplog.disable()/asaplog.enable() to controls this. I have also added the function name as the log origin.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/python/logging.py

    r1858 r1859  
    1919
    2020    .. note:: Do instantiate a new one - use the :obj:`asaplog` instead.
    21    
     21
    2222    """
    2323    def __init__(self):
    24         self._enabled = False
     24        self._enabled = True
    2525        self._log = ""
    2626        if is_casapy():
     
    3131            set_global_sink(self.logger)
    3232
    33     def post(self, level):
     33    def post(self, level, origin=""):
    3434        """Post the messages to the logger. This will clear the buffered
    3535        logs.
     
    4242        if not self._enabled:
    4343            return
    44         if not rcParams['verbose']:
    45             return
    4644
    4745        logs = self._log.strip()
    4846        if len(logs) > 0:
    49            self.logger.post(logs, priority=level)
     47            self.logger.post(logs, priority=level, origin=origin)
    5048        if isinstance(self.logger, LogSink):
    5149            logs = self.logger.pop().strip()
     
    6462
    6563        """
    66         from asap import rcParams
    6764        if self._enabled:
    68             if rcParams["verbose"]:
    69                 sep = ""
    70                 self._log = sep.join([self._log, msg])
    71                 if newline:
    72                     self._log += "\n"
     65            sep = ""
     66            self._log = sep.join([self._log, msg])
     67            if newline:
     68                self._log += "\n"
    7369
    7470    def enable(self, flag=True):
     
    8076        self._enabled = flag
    8177
     78    def is_enabled(self):
     79        return self._enabled
     80
    8281asaplog = AsapLogger()
    8382"""Default asap logger"""
    8483
    85 def print_log_dec(f, level='INFO'):
     84def print_log_dec(f):
    8685    """Decorator which posts log at completion of the wrapped method.
     86
    8787    Example::
    8888
     
    9696    @wraps_dec(f)
    9797    def wrap_it(*args, **kw):
    98         val = f(*args, **kw)
    99         print_log(level)
    100         return val
     98        level = "INFO"
     99        try:
     100            val = f(*args, **kw)
     101            return val
     102        except Exception, ex:
     103            level = "ERROR"
     104            asaplog.push(str(ex))
     105            if rcParams['verbose']:
     106                pass
     107            else:
     108                raise
     109        finally:
     110            print_log(level, f.func_name)
    101111    return wrap_it
    102112
    103 def print_log(level='INFO'):
     113def print_log(level='INFO', origin=""):
    104114    """Alias for asaplog.post(level)"""
    105     asaplog.post(level)
     115    asaplog.post(level, origin)
Note: See TracChangeset for help on using the changeset viewer.