diff options
author | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2006-01-20 18:29:36 (GMT) |
---|---|---|
committer | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2006-01-20 18:29:36 (GMT) |
commit | 568482a2662746cd0f10e7ca83b498a68ff6851b (patch) | |
tree | 2e33d12bd0d7ea2fcc24652e51559757a84a555c /Lib | |
parent | 80d2df86dca1752d8bfdd6d7a3b6804bfe52cdcd (diff) | |
download | cpython-568482a2662746cd0f10e7ca83b498a68ff6851b.zip cpython-568482a2662746cd0f10e7ca83b498a68ff6851b.tar.gz cpython-568482a2662746cd0f10e7ca83b498a68ff6851b.tar.bz2 |
Added a test for the ability to specify a class attribute in Formatter configuration. Contributed by Shane Hathaway.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_logging.py | 80 |
1 files changed, 64 insertions, 16 deletions
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index d19c423..5f01247 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -396,7 +396,7 @@ def test3(): # Test 4 #---------------------------------------------------------------------------- -# config0 is a standard configuratin. +# config0 is a standard configuration. config0 = """ [loggers] keys=root @@ -489,6 +489,65 @@ def test4(): loggerDict.update(saved_loggers) #---------------------------------------------------------------------------- +# Test 5 +#---------------------------------------------------------------------------- + +test5_config = """ +[loggers] +keys=root + +[handlers] +keys=hand1 + +[formatters] +keys=form1 + +[logger_root] +level=NOTSET +handlers=hand1 + +[handler_hand1] +class=StreamHandler +level=NOTSET +formatter=form1 +args=(sys.stdout,) + +[formatter_form1] +class=test.test_logging.FriendlyFormatter +format=%(levelname)s:%(name)s:%(message)s +datefmt= +""" + +class FriendlyFormatter (logging.Formatter): + def formatException(self, ei): + return "%s... Don't panic!" % str(ei[0]) + + +def test5(): + loggerDict = logging.getLogger().manager.loggerDict + saved_handlers = logging._handlers.copy() + saved_loggers = loggerDict.copy() + try: + fn = tempfile.mktemp(".ini") + f = open(fn, "w") + f.write(test5_config) + f.close() + logging.config.fileConfig(fn) + try: + raise KeyError + except KeyError: + logging.exception("just testing") + os.remove(fn) + finally: + logging._handlers.clear() + logging._handlers.update(saved_handlers) + loggerDict = logging.getLogger().manager.loggerDict + loggerDict.clear() + loggerDict.update(saved_loggers) + + + +#---------------------------------------------------------------------------- # Test Harness #---------------------------------------------------------------------------- def banner(nm, typ): @@ -540,21 +599,10 @@ def test_main_inner(): banner("log_test0", "end") - banner("log_test1", "begin") - test1() - banner("log_test1", "end") - - banner("log_test2", "begin") - test2() - banner("log_test2", "end") - - banner("log_test3", "begin") - test3() - banner("log_test3", "end") - - banner("log_test4", "begin") - test4() - banner("log_test4", "end") + for t in range(1,6): + banner("log_test%d" % t, "begin") + globals()['test%d' % t]() + banner("log_test%d" % t, "end") finally: #wait for TCP receiver to terminate |