Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

Changeset 1692

Show
Ignore:
Timestamp:
06/25/07 12:41:43
Author:
fumanchu
Message:

New WSPBus log behavior, plus a signal fix.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cherrypy/__init__.py

    r1690 r1692  
    233233     
    234234    engine.subscribe('start', server.quickstart) 
    235      
    236     s = restsrv.plugins.SignalHandler(engine) 
    237     s.set_handler('SIGTERM', engine.stop) 
    238     s.set_handler('SIGHUP', engine.restart) 
    239      
     235    restsrv.plugins.SignalHandler(engine) 
    240236    engine.start() 
    241237    engine.block() 
     
    383379# Using an access file makes CP about 10% slower. Leave off by default. 
    384380log.access_file = '' 
    385 engine.log = lambda msg, traceback=False: log.error(msg, 'ENGINE', 
    386                                                     traceback=traceback) 
     381engine.subscribe('log', lambda msg: log.error(msg, 'ENGINE')) 
    387382 
    388383#                       Helper functions for CP apps                       # 
  • trunk/cherrypy/restsrv/wspbus.py

    r1690 r1692  
    5757import threading 
    5858import time 
    59 import traceback 
     59import traceback as _traceback 
    6060 
    6161 
     
    7979    def __init__(self): 
    8080        self.state = states.STOPPED 
    81         self.listeners = dict([(channel, set()) for channel 
    82                                in ('start', 'stop', 'exit', 
    83                                    'restart', 'graceful')]) 
     81        self.listeners = dict( 
     82            [(channel, set()) for channel 
     83             in ('start', 'stop', 'exit', 'restart', 'graceful')]) 
    8484        self._priorities = {} 
    8585     
     
    199199     
    200200    def log(self, msg="", traceback=False): 
     201        """Log the given message. Append the last traceback if requested.""" 
    201202        if traceback: 
    202             msg = '\n'.join((msg, format_exc())) 
    203         print msg 
    204  
    205  
    206 def format_exc(exc=None): 
    207     """Return exc (or sys.exc_info if None), formatted.""" 
    208     if exc is None: 
    209         exc = sys.exc_info() 
    210     if exc == (None, None, None): 
    211         return "" 
    212     return "".join(traceback.format_exception(*exc)) 
     203            exc = sys.exc_info() 
     204            msg += "\n" + "".join(_traceback.format_exception(*exc)) 
     205        self.publish('log', msg) 
    213206 
    214207bus = Bus() 
    215  

Hosted by WebFaction

Log in as guest/cpguest to create tickets