1""" 2$URL: svn+ssh://svn.mems-exchange.org/repos/trunk/durus/logger.py $ 3$Id: logger.py 29018 2006-10-31 21:03:13Z rmasse $ 4""" 5 6import sys 7from logging import getLogger, StreamHandler, Formatter, INFO 8 9logger = getLogger('durus') 10log = logger.log 11 12def direct_output(file): 13 logger.handlers[:] = [] 14 handler = StreamHandler(file) 15 handler.setFormatter(Formatter("%(message)s")) 16 logger.addHandler(handler) 17 logger.propagate = False 18 logger.setLevel(INFO) 19 if file is sys.__stderr__: 20 return 21 if sys.stdout is sys.__stdout__: 22 sys.stdout = file 23 else: 24 log(100, "sys.stdout already customized.") 25 if sys.stderr is sys.__stderr__: 26 sys.stderr = file 27 else: 28 log(100, "sys.stderr already customized.") 29 30if not logger.handlers: 31 direct_output(sys.stderr) 32 33def is_logging(level): 34 return logger.getEffectiveLevel() <= level 35 36