# what is there to log? LOG_NONE=0 # nothing LOG_IMPORTANT=1 # important things like errors LOG_NORMAL=2 # LOG_IMPORTANT + some events, like connect LOG_EXTENDED=3 # LOG_NORMAL + more log information LOG_DEBUG=4 # LOG_EXTENDED + debug information def setLevel(newLevel=LOG_NORMAL): """Set the current level to log.""" global curLevel curLevel=newLevel def setWriter(writer): """Set the writer to use for logging. This method should have two params: item, level""" global curOutput curOutput=writer def _writer(item, level): print "%s %s"%(str(level), item) curLevel=LOG_NORMAL curOutput=_writer def normal(item): log(item, LOG_NORMAL) def important(item): log(item, LOG_IMPORTANT) def extended(item): log(item, LOG_EXTENDED) def debug(item): log(item, LOG_DEBUG) def log(item, level=LOG_NORMAL): if level<=curLevel and item!="": curOutput(item, level)