Hi all. I think I fixed this problem by setting fileLogger.propagate = 0. Otherwise it will propagate up to the root logger, which outputs to stdout, as far as I can understand.

On 31 Jul 2009, at 01:17, Jannik Sundø wrote:

Dear all, I am quite confused about the Python logging. I have read and re-read the Python documentation for the Python logging module and googled, but to no avail. I simply want one logger to log to a file and another logger to log to the console. Neither should log the other's messages. The code below causes fileLogger to log to BOTH a file and the console, how come? It seems to me that a call such as "consoleHandler = logging.StreamHandler()" affects other loggers, which I do not want. Also, if I do not do logging.basicConfig(level=logging.INFO) in one of the classes of my application, the logging does not work. Any ideas how come?

Thanks a lot for any help! :)

fileHandler = logging.FileHandler('../../logs/log.txt')
fileLogger = logging.getLogger('TESTHARNESSFILE')
fileLogger.addHandler(fileHandler)
fileLogger.setLevel(logging.INFO)
consoleHandler = logging.StreamHandler()
logger = logging.getLogger('TESTHARNESS')
logger.addHandler(consoleHandler)
logger.setLevel(logging.INFO)

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

Reply via email to