summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorVinay Sajip <vinay_sajip@yahoo.co.uk>2006-01-20 18:29:36 (GMT)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>2006-01-20 18:29:36 (GMT)
commit568482a2662746cd0f10e7ca83b498a68ff6851b (patch)
tree2e33d12bd0d7ea2fcc24652e51559757a84a555c /Lib
parent80d2df86dca1752d8bfdd6d7a3b6804bfe52cdcd (diff)
downloadcpython-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.py80
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