Changeset 470 in tailor


Ignore:
Timestamp:
08/04/05 11:32:19 (8 years ago)
Author:
lele@…
Hash name:
20050804093219-97f81-409ed397f59af645abc0dbbd8b3dcda4f1fc8f3d
Message:

Added logging capability to the Project

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vcpx/config.py

    r463 r470  
    8080 
    8181        from os import getcwd 
     82        import logging 
    8283 
    8384        self.root = self.config.get(self.name, 'root', getcwd()) 
     
    8687        self.state_file = StateFile(self.config.get(self.name, 'state-file'), 
    8788                                    self.config) 
     89 
    8890        before = self.config.getTuple(self.name, 'before-commit') 
    8991        try: 
     
    9193        except KeyError, e: 
    9294            raise ConfigurationError('Project %s before-commit references ' 
    93                                      'unknown function: '%self.name + str(e)) 
     95                                     'unknown function: %s' % 
     96                                     (self.name, str(e))) 
     97 
    9498        after = self.config.getTuple(self.name, 'after-commit') 
    9599        try: 
     
    97101        except KeyError, e: 
    98102            raise ConfigurationError('Project %s after-commit references ' 
    99                                      'unknown function: '%self.name + str(e)) 
     103                                     'unknown function: %s' % 
     104                                     (self.name, str(e))) 
     105 
     106        self.verbose = self.config.get(self.name, 'verbose', False) 
     107 
     108        self.logger = logging.getLogger('tailor.%s' % self.name) 
     109        logfile = self.config.get(self.name, 'logfile', 'tailor.log') 
     110        hdlr = logging.FileHandler(join(self.root, logfile)) 
     111        formatter = logging.Formatter('%(asctime)s [%(levelname)s] %(message)s') 
     112        hdlr.setFormatter(formatter) 
     113        self.logger.addHandler(hdlr) 
     114        self.logger.setLevel(logging.INFO) 
     115 
     116    def log_info(self, what): 
     117        """ 
     118        Print some info on the log and, in verbose mode, to stdout as well. 
     119        """ 
     120 
     121        if self.logger: 
     122            self.logger.info(what) 
     123 
     124        if self.verbose: 
     125            print what 
     126 
     127    def log_error(self, what, exc=False): 
     128        """ 
     129        Print an error message, possibly with an exception traceback, 
     130        to the log and to stdout as well. 
     131        """ 
     132 
     133        if self.logger: 
     134            if exc: 
     135                self.logger.exception(what) 
     136            else: 
     137                self.logger.error(what) 
     138 
     139        print "Error:", what, 
     140        if exc: 
     141            from sys import exc_info 
     142 
     143            ei = exc_info() 
     144            print ' -- Exception %s: %s' % ei[0:2]) 
     145        else: 
     146            print 
    100147 
    101148    def __loadRepository(self, which): 
Note: See TracChangeset for help on using the changeset viewer.