diff --git a/ska_logging/configuration.py b/ska_logging/configuration.py
index 22c6a2692a6287cdf66501e152b1963621b0b393..0df9690e31800cfa59727422c9a362898cfa33f0 100644
--- a/ska_logging/configuration.py
+++ b/ska_logging/configuration.py
@@ -38,6 +38,7 @@ _FORMAT_STR_WITH_TAGS = (
     "%(message)s"
 )
 
+_FORMAT_STR_DATE = "%Y-%m-%dT%H:%M:%S"
 
 _LOGGING_CONFIG = {
     "version": 1,
@@ -46,7 +47,7 @@ _LOGGING_CONFIG = {
         "default": {
             "()": _UTCFormatter,
             "format": _FORMAT_STR_NO_TAGS,
-            "datefmt": "%Y-%m-%dT%H:%M:%S",
+            "datefmt": _FORMAT_STR_DATE,
         }
     },
     "handlers": {
@@ -94,7 +95,7 @@ def configure_logging(level=None, tags_filter=None, overrides=None):
     """
     config = copy.deepcopy(_LOGGING_CONFIG)
     if overrides:
-        config = _override(config, overrides)
+        config = _override(config, copy.deepcopy(overrides))
     if level:
         config["root"]["level"] = level
     if tags_filter:
@@ -128,7 +129,7 @@ def get_default_formatter(tags=False):
         format_str = _FORMAT_STR_WITH_TAGS
     else:
         format_str = _FORMAT_STR_NO_TAGS
-    return _UTCFormatter(fmt=format_str)
+    return _UTCFormatter(fmt=format_str, datefmt=_FORMAT_STR_DATE)
 
 
 def _override(config, overrides):
diff --git a/tests/test_configuration.py b/tests/test_configuration.py
index 885cc800ff4bc660f800c53563978961e47dbea2..6b1d558910e9cf6799d5eb05aa43770bd586d331 100644
--- a/tests/test_configuration.py
+++ b/tests/test_configuration.py
@@ -67,41 +67,44 @@ RECORDER_OVERRIDES = {
 }
 
 
-@pytest.mark.usefixtures("reset_logging")
-class TestConfigureLogging:
-    """Tests for :func:`~ska_logging.configuration.configure_logging`."""
+@pytest.fixture
+def default_logger():
+    """Return user logger instance with default configuration."""
+    configure_logging()
+    yield logging.getLogger("ska.test.app")
 
-    @pytest.fixture
-    def default_logger(self):
-        """Return user logger instance with default configuration."""
-        configure_logging()
-        yield logging.getLogger("ska.test.app")
 
-    @pytest.fixture
-    def recording_logger(self):
-        """Return user logger, including a recording handler.
+@pytest.fixture
+def recording_logger():
+    """Return user logger, including a recording handler.
+
+    The additional handler has the name "recorder".  It uses the default formatter,
+    and stores all formatted output strings as a list in its `logs` attribute.
+    It also keeps a list of the raw log records in its `records` attribute.
 
-        The additional handler has the name "recorder".  It uses the default formatter,
-        and stores all formatted output strings as a list in its `logs` attribute.
-        It also keeps a list of the raw log records in its `records` attribute.
+    Note:  we use this instead of pytest's `caplog` fixture because we cannot change
+    the formatter that it uses.
+    """
+    configure_logging(overrides=RECORDER_OVERRIDES)
+    yield logging.getLogger("ska.logger")
 
-        Note:  we use this instead of pytest's `caplog` fixture because we cannot change
-        the formatter that it uses.
-        """
-        configure_logging(overrides=RECORDER_OVERRIDES)
-        yield logging.getLogger("ska.logger")
 
-    @pytest.fixture
-    def recording_tags_logger(self):
-        """Return user logger like :func:`recording_logger`, but including tags filter."""
+@pytest.fixture
+def recording_tags_logger():
+    """Return user logger like :func:`recording_logger`, but including tags filter."""
 
-        class MyFilter(logging.Filter):
-            def filter(self, record):
-                record.tags = "key1:value1,key2:value2"
-                return True
+    class MyFilter(logging.Filter):
+        def filter(self, record):
+            record.tags = "key1:value1,key2:value2"
+            return True
 
-        configure_logging(tags_filter=MyFilter, overrides=RECORDER_OVERRIDES)
-        yield logging.getLogger("ska.logger")
+    configure_logging(tags_filter=MyFilter, overrides=RECORDER_OVERRIDES)
+    yield logging.getLogger("ska.logger")
+
+
+@pytest.mark.usefixtures("reset_logging")
+class TestConfigureLogging:
+    """Tests for :func:`~ska_logging.configuration.configure_logging`."""
 
     def test_includes_console_handler(self, default_logger):
         assert get_named_handler(default_logger, "console")
@@ -165,23 +168,34 @@ class TestConfigureLogging:
         assert get_named_handler(logger, "test")
 
 
+@pytest.mark.usefixtures("reset_logging")
 class TestGetDefaultFormatter:
     """Tests for :func:`~ska_logging.configuration.get_default_formatter`."""
 
-    def test_default_no_tags(self):
+    def get_recorded_message(self, logger):
+        logger.info("test message")
+        recorder = get_named_handler(logger, "recorder")
+        record = recorder.records[0]
+        message = recorder.logs[0]
+        return record, message
+
+    def test_default_no_tags(self, recording_logger):
         formatter = get_default_formatter()
-        assert isinstance(formatter, ska_logging.configuration._UTCFormatter)
-        assert formatter._fmt == ska_logging.configuration._FORMAT_STR_NO_TAGS
+        record, message = self.get_recorded_message(recording_logger)
+        actual_log_message = formatter.format(record)
+        assert actual_log_message == message
 
-    def test_get_tags_disabled(self):
+    def test_get_tags_disabled(self, recording_logger):
         formatter = get_default_formatter(tags=False)
-        assert isinstance(formatter, ska_logging.configuration._UTCFormatter)
-        assert formatter._fmt == ska_logging.configuration._FORMAT_STR_NO_TAGS
+        record, message = self.get_recorded_message(recording_logger)
+        actual_log_message = formatter.format(record)
+        assert actual_log_message == message
 
-    def test_get_tags_enabled(self):
+    def test_get_tags_enabled(self, recording_tags_logger):
         formatter = get_default_formatter(tags=True)
-        assert isinstance(formatter, ska_logging.configuration._UTCFormatter)
-        assert formatter._fmt == ska_logging.configuration._FORMAT_STR_WITH_TAGS
+        record, message = self.get_recorded_message(recording_tags_logger)
+        actual_log_message = formatter.format(record)
+        assert actual_log_message == message
 
 
 class TestOverride: