diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index 42b957c..b7086d5 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -1400,6 +1400,8 @@
         msg, kwargs = self.process(msg, kwargs)
         self.logger.warning(msg, *args, **kwargs)
 
+    warn = warning
+
     def error(self, msg, *args, **kwargs):
         """
         Delegate an error call to the underlying logger, after adding
@@ -1433,12 +1435,24 @@
         msg, kwargs = self.process(msg, kwargs)
         self.logger.log(level, msg, *args, **kwargs)
 
+    def setLevel(self, level):
+        """
+        Set the specified level on the underlying logger.
+        """
+        self.logger.setLevel(level)
+
     def isEnabledFor(self, level):
         """
         See if the underlying logger is enabled for the specified level.
         """
         return self.logger.isEnabledFor(level)
 
+    def getEffectiveLevel(self):
+        """
+        Get the effective level for the underlying logger.
+        """
+        return self.logger.getEffectiveLevel()
+
     def hasHandlers(self):
         """
         See if the underlying logger has any handlers.
diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py
index 744f59b..ce0673d 100644
--- a/Lib/logging/handlers.py
+++ b/Lib/logging/handlers.py
@@ -1131,6 +1131,8 @@
         For a MemoryHandler, flushing means just sending the buffered
         records to the target, if there is one. Override if you want
         different behaviour.
+
+        The record buffer is also cleared by this operation.
         """
         if self.target:
             for record in self.buffer:
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index 7506dba..c5d8bac 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -154,7 +154,7 @@
 
         ERR = logging.getLogger("ERR")
         ERR.setLevel(logging.ERROR)
-        INF = logging.getLogger("INF")
+        INF = logging.LoggerAdapter(logging.getLogger("INF"), {})
         INF.setLevel(logging.INFO)
         DEB = logging.getLogger("DEB")
         DEB.setLevel(logging.DEBUG)
