Commit 34162698 authored by Claude Paroz's avatar Claude Paroz
Browse files

Fixed #14264 -- Ensured settings.configure configures logging

Thanks Matt McDonald for the patch.
parent 4d817b38
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ class LazySettings(LazyObject):
        for name, value in options.items():
            setattr(holder, name, value)
        self._wrapped = holder
        self._configure_logging()

    @property
    def configured(self):
+18 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ import copy
import logging
import warnings

from django.conf import compat_patch_logging_config
from django.conf import compat_patch_logging_config, LazySettings
from django.core import mail
from django.test import TestCase, RequestFactory
from django.test.utils import override_settings
@@ -302,3 +302,20 @@ class SettingsConfigTest(AdminScriptTestCase):
        out, err = self.run_manage(['validate'])
        self.assertNoOutput(err)
        self.assertOutput(out, "0 errors found")


def dictConfig(config):
    dictConfig.called = True
dictConfig.called = False


class SettingsConfigureLogging(TestCase):
    """
    Test that calling settings.configure() initializes the logging
    configuration.
    """
    def test_configure_initializes_logging(self):
        settings = LazySettings()
        settings.configure(
            LOGGING_CONFIG='regressiontests.logging_tests.tests.dictConfig')
        self.assertTrue(dictConfig.called)