Jean-Michel Pichavant wrote:


Basically, never configure or add handlers to any logger except for the root logger in your __main__ section. There are very few reasons why you would break this rule. And when you'll be familiar with the logging module you'll when to break it.

I have never used logging, but if and when I have a need for it, the advice above and your clear example will be a good guide to getting started. Thank you from me too.

tjr

[server.py]

import logging
import logging.handlers

logger = logging.getLogger(__name__) # you'd better to create the logger at the module level, you may want to log within the module function

def aFunction(a, b, ,c):
   logger.debug('You called aFunction')

class Server():
   def __init__(self):
       self.logger = logger

   def util(self):
       self.logger.warning('This message comes from Server module ')


[client.py]

import logging
import logging.handlers
from server import Server

logger = logging.getLogger(__name__)

class Client():
   def __init__(self):
       self.logger = logger

   def client_test(self):
       self.logger.warning("This message comes from Client module")

if __name__ == "__main__":
   rootLogger = logging.getLogger()
   rootLogger.addHandler(logging.FileHandler("client.log"))
rootLogger.handlers[-1].setFormatter(logging.Formatter("%(asctime)s %(name)-12s %(levelname)-8s %(message)s"))
   rootLogger.setLevel(logging.DEBUG)
   ser = Server()
   cli = Client()
   ser.util()
   cli.client_test()

Happy logging,

Jean-Michel

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to