diff options
author | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2011-08-11 12:39:52 (GMT) |
---|---|---|
committer | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2011-08-11 12:39:52 (GMT) |
commit | 5088b504bee4a89154b390611d79b0a587a3b50d (patch) | |
tree | 125a4b1a6a3e5c4e0aacf0f8d1bd3ef95f380594 /Doc/library/logging.config.rst | |
parent | 93e6a3d28f3ef9f861f608e915a4a4c9f2dd0c0e (diff) | |
download | cpython-5088b504bee4a89154b390611d79b0a587a3b50d.zip cpython-5088b504bee4a89154b390611d79b0a587a3b50d.tar.gz cpython-5088b504bee4a89154b390611d79b0a587a3b50d.tar.bz2 |
Issue #12718: Add documentation on using custom importers.
Diffstat (limited to 'Doc/library/logging.config.rst')
-rw-r--r-- | Doc/library/logging.config.rst | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Doc/library/logging.config.rst b/Doc/library/logging.config.rst index 500c736..8b39be4 100644 --- a/Doc/library/logging.config.rst +++ b/Doc/library/logging.config.rst @@ -516,6 +516,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 |