On Fri, 28 Dec 2012 11:57:29 -0800, andrew cooke wrote:
> When I use a config file things seem to work (in other projects), but
> for my current code I hoped to configure logging from Python.
>
> I distilled my problem down to the following test, which does not print
> anything. Please can someone explain why? I was expecting the module's
> logger to delegate to root, which has the DEBUG level set.
>
> from logging import DEBUG, root, getLogger
> from unittest import TestCase
>
> class LoggingTest(TestCase):
> def test_direct(self):
> root.setLevel(DEBUG)
> getLogger(__name__).debug("hello world")
Nothing gets printed because you don't do anything except define a class.
Try instantiating the class, then calling the test_direct method. The
most convenient way to do so is with the unittest module:
# after defining the class above
import unittest
unittest.main()
which then prints:
py> unittest.main()
No handlers could be found for logger "__main__"
.
----------------------------------------------------------------------
Ran 1 test in 0.045s
OK
So you need a handler.
--
Steven
--
http://mail.python.org/mailman/listinfo/python-list