improvements sought re. logging across modules

Fábio Santos fabiosantosart at gmail.com
Wed Apr 24 13:29:35 EDT 2013


Maybe import mylogger.mylogger as gLog? I don't know what you mean by
"missing a trick". Your example seems pretty pythonic to me, except for the
fact that you use a singleton where you could have a couple of functions
and use the module as the namespace.
On 24 Apr 2013 17:58, "The Night Tripper" <jkn+gg at nicorp.co.uk> wrote:

> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130424/7535dc96/attachment.html>


More information about the Python-list mailing list