Changeset 405


Ignore:
Timestamp:
07/16/10 15:48:50 (12 years ago)
Author:
bas
Message:

email2trac.py.in:

  • First use of the logging module and it worked
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/email2trac.py.in

    r404 r405  
    194194                self.VERBOSE = parameters['verbose']
    195195
    196 
    197 
    198196        def setup_log(self):
    199197                """
     
    210208                        if not os.path.isabs(parameters.log_file):
    211209                                self.parameters.log_file = os.path.join(self.env.path, 'log')
    212                         hdlr = logging.FileHandler()
     210                        self.log_handler = logging.FileHandler()
    213211
    214212                elif self.parameters.log_type in ('winlog', 'eventlog', 'nteventlog'):
    215213                        # Requires win32 extensions
    216                         hdlr = logging.handlers.NTEventLogHandler(logid, logtype='Application')
     214                        self.log_handler = logging.handlers.NTEventLogHandler(logid, logtype='Application')
    217215
    218216                elif self.parameters.log_type in ('syslog', 'unix'):
    219                         hdlr = logging.handlers.SysLogHandler('/dev/log')
     217                        self.log_handler = logging.handlers.SysLogHandler('/dev/log')
    220218
    221219                elif self.parameters.log_type in ('stderr'):
    222                         hdlr = logging.StreamHandler(sys.stderr)
    223 
    224                 else:
    225                         hdlr = logging.handlers.BufferingHandler(0)
     220                        self.log_handler = logging.StreamHandler(sys.stderr)
     221
     222                else:
     223                        self.log_handler = logging.handlers.BufferingHandler(0)
    226224
    227225                if self.parameters.log_format:
    228                         self.parameters['log_format'] = self.parameters.log_format.replace('$(', '%(')
     226                        self.parameters.log_format = self.parameters.log_format.replace('$(', '%(')
    229227                else:
    230228                        self.parameters.log_format = 'Email2trac: %(message)s'
     
    234232
    235233                ## Setup debug level
     234                #
     235                if not self.parameters.log_level:
     236                        self.parameters.log_level = 'CRITICAL'
     237                else:
     238                        self.parameters.log_level = self.parameters.log_level.upper()
     239
     240                if self.parameters.loglevel in ['DEBUG', 'ALL']:
     241                        self.logger.setLevel(logging.DEBUG)
     242                elif self.parameters.loglevel in ['INFO'] or self.parameters['verbose']:
     243                        self.logger.setLevel(logging.INFO)
     244                elif self.parameters.loglevel in ['ERROR']:
     245                        self.logger.setLevel(logging.ERROR)
     246                elif self.parameters.loglevel in ['CRITICAL']:
     247                        self.logger.setLevel(logging.CRITICAL)
     248                else:
     249                        self.logger.setLevel(logging.WARNING)
     250
     251                self.log_formatter = logging.Formatter(self.parameters.log_format)
     252                self.log_handler.setFormatter(self.log_formatter)
     253                self.logger.addHandler(self.log_handler)
     254                       
    236255               
    237 
    238256        def setup_parameters(self):
    239257                if self.parameters.has_key('umask'):
     
    15801598                """
    15811599                """
     1600                self.logger.info('Main function parse')
    15821601                if self.VERBOSE:
    15831602                        print "VB: main function parse()"
Note: See TracChangeset for help on using the changeset viewer.