From 2a55431a5678af52f669ffe7dff3dd0bd21727f8 Mon Sep 17 00:00:00 2001 From: Carlton Gibson Date: Tue, 22 Sep 2020 09:52:15 +0200 Subject: [PATCH] Fixed #32016 -- Clarified manual logging config docs. --- docs/topics/logging.txt | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/docs/topics/logging.txt b/docs/topics/logging.txt index e8c59150a0..da051d8559 100644 --- a/docs/topics/logging.txt +++ b/docs/topics/logging.txt @@ -468,8 +468,15 @@ If you don't want to configure logging at all (or you want to manually configure logging using your own approach), you can set :setting:`LOGGING_CONFIG` to ``None``. This will disable the configuration process for :ref:`Django's default logging -`. Here's an example that disables Django's -logging configuration and then manually configures logging: +`. + +Setting :setting:`LOGGING_CONFIG` to ``None`` only means that the automatic +configuration process is disabled, not logging itself. If you disable the +configuration process, Django will still make logging calls, falling back to +whatever default logging behavior is defined. + +Here's an example that disables Django's logging configuration and then +manually configures logging: .. code-block:: python :caption: settings.py @@ -479,10 +486,11 @@ logging configuration and then manually configures logging: import logging.config logging.config.dictConfig(...) -Setting :setting:`LOGGING_CONFIG` to ``None`` only means that the automatic -configuration process is disabled, not logging itself. If you disable the -configuration process, Django will still make logging calls, falling back to -whatever default logging behavior is defined. +Note that the default configuration process only calls +:setting:`LOGGING_CONFIG` once settings are fully-loaded. In contrast, manually +configuring the logging in your settings file will load your logging config +immediately. As such, your logging config must appear *after* any settings on +which it depends. Django's logging extensions ===========================