Kaydet (Commit) 817495a6 authored tarafından Vinay Sajip's avatar Vinay Sajip

Issue #12718: Add documentation on using custom importers.

üst 9dc4cad9
...@@ -513,6 +513,31 @@ the system will attempt to retrieve the value from ...@@ -513,6 +513,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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment