summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
Diffstat (limited to 'Doc')
-rw-r--r--Doc/c-api/typeobj.rst5
-rw-r--r--Doc/library/logging.config.rst25
2 files changed, 30 insertions, 0 deletions
diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst
index 4a6335c..68ca9ad 100644
--- a/Doc/c-api/typeobj.rst
+++ b/Doc/c-api/typeobj.rst
@@ -745,6 +745,11 @@ type objects) *must* have the :attr:`ob_size` field.
This field is not inherited by subtypes (though the attributes defined in here
are inherited through a different mechanism).
+ .. warning::
+
+ It is not safe to use :c:func:`PyDict_SetItem` on or otherwise modify
+ :attr:`tp_dict` with the dictionary C-API.
+
.. c:member:: descrgetfunc PyTypeObject.tp_descr_get
diff --git a/Doc/library/logging.config.rst b/Doc/library/logging.config.rst
index bb80a7f..b2dd71e 100644
--- a/Doc/library/logging.config.rst
+++ b/Doc/library/logging.config.rst
@@ -513,6 +513,31 @@ the system will attempt to retrieve the value from
to ``config_dict['handlers']['myhandler']['mykey']['123']`` if that
fails.
+
+.. _logging-import-resolution:
+
+Import resolution and custom importers
+""""""""""""""""""""""""""""""""""""""
+
+Import resolution, by default, uses the builtin :func:`__import__` function
+to do its importing. You may want to replace this with your own importing
+mechanism: if so, you can replace the :attr:`importer` attribute of the
+:class:`DictConfigurator` or its superclass, the
+:class:`BaseConfigurator` class. However, you need to be
+careful because of the way functions are accessed from classes via
+descriptors. If you are using a Python callable to do your imports, and you
+want to define it at class level rather than instance level, you need to wrap
+it with :func:`staticmethod`. For example::
+
+ from importlib import import_module
+ from logging.config import BaseConfigurator
+
+ BaseConfigurator.importer = staticmethod(import_module)
+
+You don't need to wrap with :func:`staticmethod` if you're setting the import
+callable on a configurator *instance*.
+
+
.. _logging-config-fileformat:
Configuration file format