| Trees | Indices | Help |
|
|---|
|
|
1 import os 2 import logging 3 import conduit 4 5 # Custom logger class with multiple destinations7 FORMAT = "[%(name)-20s][%(levelname)-7s] %(message)s (%(filename)s:%(lineno)d)" 8 LOG_FILE_HANDLER = None31 logging.setLoggerClass(ConduitLogger) 3210 try: 11 level = getattr(logging,os.environ.get('CONDUIT_LOGLEVEL','DEBUG')) 12 except AttributeError: 13 level = logging.DEBUG 14 logging.Logger.__init__(self, name, level) 15 16 #Add two handlers, a stderr one, and a file one 17 formatter = logging.Formatter(ConduitLogger.FORMAT) 18 19 #create the single file appending handler 20 if ConduitLogger.LOG_FILE_HANDLER == None: 21 filename = os.environ.get('CONDUIT_LOGFILE',os.path.join(conduit.USER_DIR,'conduit.log')) 22 ConduitLogger.LOG_FILE_HANDLER = logging.FileHandler(filename,'w') 23 ConduitLogger.LOG_FILE_HANDLER.setFormatter(formatter) 24 25 console = logging.StreamHandler() 26 console.setFormatter(formatter) 27 28 self.addHandler(ConduitLogger.LOG_FILE_HANDLER) 29 self.addHandler(console) 30 return
| Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0beta1 on Sat Aug 2 22:18:43 2008 | http://epydoc.sourceforge.net |