Issue #7869: logging: improved format-time diagnostics and removed some 1.5.2 support code.
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index 5c727b0..b5c48d3 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -769,7 +769,10 @@
if raiseExceptions:
ei = sys.exc_info()
try:
- traceback.print_exception(ei[0], ei[1], ei[2], None, sys.stderr)
+ traceback.print_exception(ei[0], ei[1], ei[2],
+ None, sys.stderr)
+ sys.stderr.write('Logged from file %s, line %s\n' % (
+ record.filename, record.lineno))
except IOError:
pass # see issue 5971
finally:
@@ -1572,17 +1575,8 @@
#else, swallow
#Let's try and shutdown automatically on application exit...
-try:
- import atexit
- atexit.register(shutdown)
-except ImportError: # for Python versions < 2.0
- def exithook(status, old_exit=sys.exit):
- try:
- shutdown()
- finally:
- old_exit(status)
-
- sys.exit = exithook
+import atexit
+atexit.register(shutdown)
# Null handler
diff --git a/Lib/logging/config.py b/Lib/logging/config.py
index 1145e71..fdf4397 100644
--- a/Lib/logging/config.py
+++ b/Lib/logging/config.py
@@ -58,15 +58,11 @@
the ability to select from various pre-canned configurations (if the
developer provides a mechanism to present the choices and load the chosen
configuration).
- In versions of ConfigParser which have the readfp method [typically
- shipped in 2.x versions of Python], you can pass in a file-like object
- rather than a filename, in which case the file-like object will be read
- using readfp.
"""
import ConfigParser
cp = ConfigParser.ConfigParser(defaults)
- if hasattr(cp, 'readfp') and hasattr(fname, 'readline'):
+ if hasattr(fname, 'readline'):
cp.readfp(fname)
else:
cp.read(fname)