diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,8 @@
+## 0.3.13
+
+* Re-export LogStr from fast-logger [#56](https://github.com/kazu-yamamoto/logger/pull/56)
+* Added `filterLogger`
+
 ## 0.3.12
 
 * Use transformers-compat to provide universal ExceptT support [#53](https://github.com/kazu-yamamoto/logger/pull/53)
diff --git a/Control/Monad/Logger.hs b/Control/Monad/Logger.hs
--- a/Control/Monad/Logger.hs
+++ b/Control/Monad/Logger.hs
@@ -28,11 +28,15 @@
     , MonadLoggerIO (..)
     , LogLevel(..)
     , LogSource
+    -- * Re-export from fast-logger
+    , LogStr
+    , ToLogStr(..)
     -- * Helper transformer
     , LoggingT (..)
     , runStderrLoggingT
     , runStdoutLoggingT
     , withChannelLogger
+    , filterLogger
     , NoLoggingT (..)
 #if WITH_TEMPLATE_HASKELL
     -- * TH logging
@@ -586,6 +590,18 @@
 
     dumpLogs chan = liftIO $
         sequence_ =<< atomically (untilM (readTBChan chan) (isEmptyTBChan chan))
+
+-- | Only log messages passing the given predicate function.
+--
+-- This can be a convenient way, for example, to ignore debug level messages.
+--
+-- Since 0.3.13
+filterLogger :: (LogSource -> LogLevel -> Bool)
+             -> LoggingT m a
+             -> LoggingT m a
+filterLogger p (LoggingT f) = LoggingT $ \logger ->
+    f $ \loc src level msg ->
+        when (p src level) $ logger loc src level msg
 
 instance MonadCont m => MonadCont (LoggingT m) where
   callCC f = LoggingT $ \i -> callCC $ \c -> runLoggingT (f (LoggingT . const . c)) i
diff --git a/monad-logger.cabal b/monad-logger.cabal
--- a/monad-logger.cabal
+++ b/monad-logger.cabal
@@ -1,5 +1,5 @@
 name:                monad-logger
-version:             0.3.12
+version:             0.3.13
 synopsis:            A class of monads which can log messages.
 description:         Hackage documentation generation is not reliable. For up to date documentation, please see: <http://www.stackage.org/package/monad-logger>.
 homepage:            https://github.com/kazu-yamamoto/logger
