diff --git a/graflog.cabal b/graflog.cabal
--- a/graflog.cabal
+++ b/graflog.cabal
@@ -1,5 +1,5 @@
 name:                graflog
-version:             6.0.0
+version:             6.1.0
 synopsis:            Monadic correlated log events
 description:         Please see README.md
 homepage:            https://github.com/m-arnold/graflog#readme
@@ -22,6 +22,7 @@
                      , aeson
                      , bytestring
                      , containers
+                     , mtl
   default-language:    Haskell2010
   default-extensions:  GeneralizedNewtypeDeriving DeriveFunctor FlexibleContexts FlexibleInstances
 
diff --git a/src/Graflog/Logger.hs b/src/Graflog/Logger.hs
--- a/src/Graflog/Logger.hs
+++ b/src/Graflog/Logger.hs
@@ -27,6 +27,10 @@
 import Data.String (IsString(..))
 import Data.Text (Text(..))
 import Data.Text.Conversions (decodeConvertText, UTF8(..), toText)
+import Control.Monad.Except
+import Control.Monad.Reader
+import Control.Monad.Writer
+import Control.Monad.State
 
 import Graflog.Console
 
@@ -134,3 +138,15 @@
 
 instance Logger IO where
   logJSON = logJSON'
+
+instance (Logger m) => Logger (ExceptT e m) where
+  logJSON = lift . logJSON
+
+instance (Logger m) => Logger (ReaderT r m) where
+  logJSON = lift . logJSON
+
+instance (Logger m, Monoid w) => Logger (WriterT w m) where
+  logJSON = lift . logJSON
+
+instance (Logger m) => Logger (StateT s m) where
+  logJSON = lift . logJSON
