Hi all I have a small suite of python modules, say A.py B.py C.py
which can be invoked in a variety of ways. eg. 1) A.py is invoked directly; this imports and uses B.py and C.py 2) B.py is invoked; this imports and uses A.py and C.py I use the logging module in all of these python modules, and I want to be able to use a single logger across the entire suite of whichever set of scripts is running. The way I do this at the moment is to have a separate module mylogger.py: == mylogger.py == import logging class MyLogger: #using python 2.4 ;-o def __init__(self): self.log = logging.getLogger(MY_APP_NAME) def setupLogging(self): self.log.setlevel(logging.DEBUG) # ... # our singleton logging object mylogger = Mylogger() # EOF and then in my other modules A.py, B.py etc. I have something like: == A.py == import mylogger gLog = mylogger.mylogger if __name__ == "__main__": gLog.setupLogging() gLog.info("Module A running as main") main() #EOF == B.py == import mylogger gLog = mylogger.mylogger if __name__ == "__main__": gLog.setupLogging() gLog.info("Module B running as main") main() # EOF This works, but I can't help thinking I'm missing a trick here. Any suggestions? Thanks j^n -- http://mail.python.org/mailman/listinfo/python-list