diff --git a/Control/Monad/Logger.hs b/Control/Monad/Logger.hs
--- a/Control/Monad/Logger.hs
+++ b/Control/Monad/Logger.hs
@@ -71,7 +71,7 @@
 import Control.Monad.Trans.Writer   ( WriterT  )
 import Control.Monad.Trans.RWS      ( RWST     )
 import Control.Monad.Trans.Resource ( ResourceT)
-import Data.Conduit                 ( Pipe     )
+import Data.Conduit.Internal        ( Pipe, ConduitM )
 
 import qualified Control.Monad.Trans.RWS.Strict    as Strict ( RWST   )
 import qualified Control.Monad.Trans.State.Strict  as Strict ( StateT )
@@ -102,17 +102,16 @@
 type LogSource = Text
 
 class Monad m => MonadLogger m where
-    monadLoggerLog :: ToLogStr msg => Loc -> LogLevel -> msg -> m ()
-
-    monadLoggerLogSource :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> m ()
-    monadLoggerLogSource loc _ level msg = monadLoggerLog loc level msg
+    monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> m ()
 
+{-
 instance MonadLogger IO          where monadLoggerLog _ _ _ = return ()
 instance MonadLogger Identity    where monadLoggerLog _ _ _ = return ()
 instance MonadLogger (ST s)      where monadLoggerLog _ _ _ = return ()
 instance MonadLogger (Lazy.ST s) where monadLoggerLog _ _ _ = return ()
+-}
 
-#define DEF monadLoggerLog a b c = Trans.lift $ monadLoggerLog a b c; monadLoggerLogSource a b c d = Trans.lift $ monadLoggerLogSource a b c d
+#define DEF monadLoggerLog a b c d = Trans.lift $ monadLoggerLog a b c d
 instance MonadLogger m => MonadLogger (IdentityT m) where DEF
 instance MonadLogger m => MonadLogger (ListT m) where DEF
 instance MonadLogger m => MonadLogger (MaybeT m) where DEF
@@ -124,6 +123,7 @@
 instance (MonadLogger m, Monoid w) => MonadLogger (RWST r w s m) where DEF
 instance MonadLogger m => MonadLogger (ResourceT m) where DEF
 instance MonadLogger m => MonadLogger (Pipe l i o u m) where DEF
+instance MonadLogger m => MonadLogger (ConduitM i o m) where DEF
 instance MonadLogger m => MonadLogger (Strict.StateT s m) where DEF
 instance (MonadLogger m, Monoid w) => MonadLogger (Strict.WriterT w m) where DEF
 instance (MonadLogger m, Monoid w) => MonadLogger (Strict.RWST r w s m) where DEF
@@ -131,7 +131,7 @@
 
 logTH :: LogLevel -> Q Exp
 logTH level =
-    [|monadLoggerLog $(qLocation >>= liftLoc) $(lift level) . (id :: Text -> Text)|]
+    [|monadLoggerLog $(qLocation >>= liftLoc) (pack "") $(lift level) . (id :: Text -> Text)|]
 
 -- | Generates a function that takes a 'Text' and logs a 'LevelDebug' message. Usage:
 --
@@ -168,23 +168,23 @@
 --
 -- > $logDebug "SomeSource" "This is a debug log message"
 logDebugS :: Q Exp
-logDebugS = [|\a b -> monadLoggerLogSource $(qLocation >>= liftLoc) a LevelDebug (b :: Text)|]
+logDebugS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelDebug (b :: Text)|]
 
 -- | See 'logDebugS'
 logInfoS :: Q Exp
-logInfoS = [|\a b -> monadLoggerLogSource $(qLocation >>= liftLoc) a LevelInfo (b :: Text)|]
+logInfoS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelInfo (b :: Text)|]
 -- | See 'logDebugS'
 logWarnS :: Q Exp
-logWarnS = [|\a b -> monadLoggerLogSource $(qLocation >>= liftLoc) a LevelWarn (b :: Text)|]
+logWarnS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelWarn (b :: Text)|]
 -- | See 'logDebugS'
 logErrorS :: Q Exp
-logErrorS = [|\a b -> monadLoggerLogSource $(qLocation >>= liftLoc) a LevelError (b :: Text)|]
+logErrorS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelError (b :: Text)|]
 
 -- | Generates a function that takes a 'LogSource', a level name and a 'Text' and logs a 'LevelOther' message. Usage:
 --
 -- > $logOther "SomeSource" "My new level" "This is a log message"
 logOtherS :: Q Exp
-logOtherS = [|\src level msg -> monadLoggerLogSource $(qLocation >>= liftLoc) src (LevelOther level) (msg :: Text)|]
+logOtherS = [|\src level msg -> monadLoggerLog $(qLocation >>= liftLoc) src (LevelOther level) (msg :: Text)|]
 
 -- | Monad transformer that disables logging.
 --
@@ -232,8 +232,7 @@
      restoreM (StMT' base) = NoLoggingT $ restoreM base
 
 instance MonadIO m => MonadLogger (NoLoggingT m) where
-    monadLoggerLog a b c = monadLoggerLogSource a empty b c
-    monadLoggerLogSource _ _ _ _ = return ()
+    monadLoggerLog _ _ _ _ = return ()
 
 -- | Monad transformer that adds a new logging function.
 --
@@ -284,8 +283,7 @@
      restoreM (StMT base) = LoggingT $ const $ restoreM base
 
 instance MonadIO m => MonadLogger (LoggingT m) where
-    monadLoggerLog a b c = monadLoggerLogSource a empty b c
-    monadLoggerLogSource a b c d = LoggingT $ \f -> liftIO $ f a b c (toLogStr d)
+    monadLoggerLog a b c d = LoggingT $ \f -> liftIO $ f a b c (toLogStr d)
 
 defaultOutput :: Handle
               -> Loc
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.2.4
+version:             0.3.0
 synopsis:            A class of monads which can log messages.
 description:         This package uses template-haskell for determining source code locations of messages.
 homepage:            https://github.com/kazu-yamamoto/logger
@@ -19,7 +19,7 @@
                      , transformers
                      , text
                      , resourcet          >= 0.4       && < 0.5
-                     , conduit            >= 0.5       && < 0.6
+                     , conduit            >= 1.0       && < 1.1
                      , fast-logger        >= 0.2       && < 0.4
                      , transformers-base
                      , monad-control
