Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #44275

Re: improvements sought re. logging across modules

References <D9OdncANCNCqk-XMnZ2dnUVZ8sOdnZ2d@brightview.co.uk>
Date 2013-04-24 18:29 +0100
Subject Re: improvements sought re. logging across modules
From Fábio Santos <fabiosantosart@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.1023.1366824584.3114.python-list@python.org> (permalink)

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

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@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
>

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

improvements sought re. logging across modules The Night Tripper <jkn+gg@nicorp.co.uk> - 2013-04-24 17:54 +0100
  Re: improvements sought re. logging across modules Fábio Santos <fabiosantosart@gmail.com> - 2013-04-24 18:29 +0100
  Re: improvements sought re. logging across modules Chris “Kwpolska” Warrick <kwpolska@gmail.com> - 2013-04-24 19:43 +0200
  Re: improvements sought re. logging across modules Dave Angel <davea@davea.name> - 2013-04-24 13:55 -0400

csiph-web