Changeset 950 in tailor


Ignore:
Timestamp:
10/23/05 02:39:24 (8 years ago)
Author:
lele@…
Hash name:
20051023003924-97f81-95a5c8ea2801ce0619255253137802a3f99f9ab3
Message:

Remove the logging handler at destruction time
Also, shutup the console handler when --verbose is not given.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vcpx/project.py

    r942 r950  
    100100        from os import makedirs 
    101101        from os.path import join, exists, expanduser, abspath 
    102         from logging import FileHandler, getLogger, DEBUG, Formatter 
     102        from logging import getLogger, CRITICAL, DEBUG, FileHandler, \ 
     103             StreamHandler, Formatter 
    103104 
    104105        self.verbose = self.config.get(self.name, 'verbose', False) 
     
    111112        if not self.subdir: 
    112113            self.subdir = '.' 
     114 
     115        self.logfile = join(self.rootdir, self.name + '.log') 
     116        self.log = getLogger('tailor.project.%s' % self.name) 
     117        if self.config.get(self.name, 'debug'): 
     118            self.log.setLevel(DEBUG) 
     119        tailorlog = getLogger('tailor') 
     120        formatter = Formatter(self.config.get( 
     121            self.name, 'log-format', 
     122            '%(asctime)s %(levelname)8s: %(message)s', raw=True), 
     123                              self.config.get( 
     124            self.name, 'log-datefmt', '%Y-%m-%d %H:%M:%S', raw=True)) 
     125        self.loghandler = FileHandler(self.logfile) 
     126        self.loghandler.setFormatter(formatter) 
     127        self.loghandler.setLevel(DEBUG) 
     128        tailorlog.addHandler(self.loghandler) 
    113129 
    114130        self.source = self.__loadRepository('source') 
     
    136152                                     (self.name, str(e))) 
    137153 
    138         self.logfile = join(self.rootdir, self.name + '.log') 
    139         self.log = getLogger('tailor.project.%s' % self.name) 
    140         if self.config.get(self.name, 'debug'): 
    141             self.log.setLevel(DEBUG) 
    142  
    143         rootlog = getLogger('tailor') 
    144         formatter = Formatter(self.config.get( 
    145             self.name, 'log-format', 
    146             '%(asctime)s %(levelname)8s: %(message)s', raw=True), 
    147                               self.config.get( 
    148             self.name, 'log-datefmt', '%Y-%m-%d %H:%M:%S', raw=True)) 
    149         self.loghandler = FileHandler(self.logfile) 
    150         self.loghandler.setFormatter(formatter) 
    151         self.loghandler.setLevel(DEBUG) 
    152         rootlog.addHandler(self.loghandler) 
     154        if not self.config.get(self.name, 'verbose', False): 
     155            # Disable console output 
     156            rootlog = getLogger() 
     157            rootlog.disabled = True 
     158            for h in rootlog.handlers: 
     159                if isinstance(h, StreamHandler): 
     160                    h.setLevel(CRITICAL) 
    153161 
    154162    def __del__(self): 
    155         getLogger.removeHandler(self.loghandler) 
     163        from logging import getLogger 
     164        getLogger('tailor').removeHandler(self.loghandler) 
    156165 
    157166    def __loadRepository(self, which): 
Note: See TracChangeset for help on using the changeset viewer.