diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,11 @@
+## 0.3.16
+
+* Provide default monadLoggerLog implementation [#72](https://github.com/kazu-yamamoto/logger/pull/72)
+
+## 0.3.15
+
+* Expose Loc constructor [#70](https://github.com/kazu-yamamoto/logger/pull/70)
+
 ## 0.3.14
 
 * Don't include source location for defaultLoc [#69](https://github.com/kazu-yamamoto/logger/issues/69)
diff --git a/Control/Monad/Logger.hs b/Control/Monad/Logger.hs
--- a/Control/Monad/Logger.hs
+++ b/Control/Monad/Logger.hs
@@ -177,6 +177,9 @@
 -- | A @Monad@ which has the ability to log messages in some manner.
 class Monad m => MonadLogger m where
     monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> m ()
+    default monadLoggerLog :: (Trans.MonadTrans t, MonadLogger (t m), ToLogStr msg)
+                           => Loc -> LogSource -> LogLevel -> msg -> t m ()
+    monadLoggerLog loc src lvl msg = Trans.lift $ monadLoggerLog loc src lvl msg
 
 -- | An extension of @MonadLogger@ for the common case where the logging action
 -- is a simple @IO@ action. The advantage of using this typeclass is that the
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.15
+version:             0.3.16
 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
