Issue #12718: Add documentation on using custom importers.
This commit is contained in:
parent
93e6a3d28f
commit
5088b504be
|
@ -516,6 +516,31 @@ the system will attempt to retrieve the value from
|
||||||
to ``config_dict['handlers']['myhandler']['mykey']['123']`` if that
|
to ``config_dict['handlers']['myhandler']['mykey']['123']`` if that
|
||||||
fails.
|
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:
|
.. _logging-config-fileformat:
|
||||||
|
|
||||||
Configuration file format
|
Configuration file format
|
||||||
|
|
Loading…
Reference in New Issue