Changeset 403


Ignore:
Timestamp:
07/16/10 11:41:11 (14 years ago)
Author:
bas
Message:

Switching to the python logging module inspired by the Trac source code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/email2trac.py.in

    r402 r403  
    7373import mimetypes
    7474import traceback
     75import logging
     76import logging.handlers
     77
    7578
    7679from trac import __version__ as trac_version
     
    148151        def setup_log():
    149152                """
    150                 Setup loging for config file
    151                 """
     153                Setup loging
     154
     155                Note for log format the usage of `$(...)s` instead of `%(...)s` as the latter form
     156        would be interpreted by the ConfigParser itself.
     157
     158                """
     159                if not parameters.log_type:
     160                        paramters.log_type = 'syslog'
     161
     162                if parameters.log_type = 'file'
     163                        if not os.path.isabs(parameters.log_file):
     164                                parameters.log_file = os.path.jpin(self.env.path. 'log')
     165                        hdlr = logging.FileHandler()
     166
     167                elif parameters.log_type in ('winlog', 'eventlog', 'nteventlog'):
     168                        # Requires win32 extensions
     169                        hdlr = logging.handlers.NTEventLogHandler(logid, logtype='Application')
     170
     171                elif parameters.log_type in ('syslog', 'unix'):
     172                        hdlr = logging.handlers.SysLogHandler('/dev/log')
     173
     174                elif parameters.log_type in ('stderr'):
     175                        hdlr = logging.StreamHandler(sys.stderr)
     176
     177                else:
     178                        hdlr = logging.handlers.BufferingHandler(0)
     179
     180                if parameters.format:
     181                        parameters.format = parameters.format.replace('$(', '%(')
     182                else:
     183                        parameters.format = 'Email2trac: %(message)s'
     184
     185
     186                self.logger = logging.getLogger('email2trac')
     187
     188                ## Setup debug level
     189               
    152190
    153191        def setup_parameters():
Note: See TracChangeset for help on using the changeset viewer.