bpo-37258: Not a bug, but added a unit test and updated documentation. (GH-14229) (GH-14230)
(cherry picked from commit 015000165373f8db263ef5bc682f02d74e5782ac)
diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
index 08555c3..8ea00a9 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -50,8 +50,8 @@
Logger Objects
--------------
-Loggers have the following attributes and methods. Note that Loggers are never
-instantiated directly, but always through the module-level function
+Loggers have the following attributes and methods. Note that Loggers should
+*NEVER* be instantiated directly, but always through the module-level function
``logging.getLogger(name)``. Multiple calls to :func:`getLogger` with the same
name will always return a reference to the same Logger object.
@@ -1226,7 +1226,9 @@
The class should define :meth:`__init__` such that only a name argument is
required, and the :meth:`__init__` should call :meth:`Logger.__init__`. This
function is typically called before any loggers are instantiated by applications
- which need to use custom logger behavior.
+ which need to use custom logger behavior. After this call, as at any other
+ time, do not instantiate loggers directly using the subclass: continue to use
+ the :func:`logging.getLogger` API to get your loggers.
.. function:: setLogRecordFactory(factory)