diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,8 @@
+1.1.4
+=====
+
+* Add `CanLog` and `HasLoggerName` instances for both strict and lazy `State`.
+
 1.1.3
 =====
 
diff --git a/log-warper.cabal b/log-warper.cabal
--- a/log-warper.cabal
+++ b/log-warper.cabal
@@ -1,5 +1,5 @@
 name:                log-warper
-version:             1.1.3
+version:             1.1.4
 synopsis:            Flexible, configurable, monadic and pretty logging
 homepage:            https://github.com/serokell/log-warper
 license:             MIT
diff --git a/src/System/Wlog/CanLog.hs b/src/System/Wlog/CanLog.hs
--- a/src/System/Wlog/CanLog.hs
+++ b/src/System/Wlog/CanLog.hs
@@ -37,23 +37,23 @@
        , logMessage
        ) where
 
-import           Control.Monad.Base         (MonadBase)
-import           Control.Monad.Except       (ExceptT, MonadError)
-import           Control.Monad.Morph        (MFunctor (..))
-import qualified Control.Monad.RWS          as RWSLazy
-import qualified Control.Monad.RWS.Strict   as RWSStrict
-import qualified Control.Monad.State.Strict as StateStrict
-import           Control.Monad.Trans        (MonadTrans (lift))
-import           Control.Monad.Writer       (MonadWriter (tell), WriterT (runWriterT))
-import qualified Data.DList                 as DL (DList)
-import           Data.SafeCopy              (base, deriveSafeCopySimple)
+import           Control.Monad.Base        (MonadBase)
+import           Control.Monad.Except      (ExceptT, MonadError)
+import           Control.Monad.Morph       (MFunctor (..))
+import qualified Control.Monad.RWS         as RWSLazy
+import qualified Control.Monad.RWS.Strict  as RWSStrict
+import qualified Control.Monad.State.Lazy  as StateLazy
+import           Control.Monad.Trans       (MonadTrans (lift))
+import           Control.Monad.Writer      (MonadWriter (tell), WriterT (runWriterT))
+import qualified Data.DList                as DL (DList)
+import           Data.SafeCopy             (base, deriveSafeCopySimple)
 import           Universum
 
-import           System.Wlog.Logger         (logM)
-import           System.Wlog.LoggerName     (LoggerName (..))
-import           System.Wlog.LoggerNameBox  (HasLoggerName (..), LoggerNameBox (..),
-                                             usingLoggerName)
-import           System.Wlog.Severity       (Severity (..))
+import           System.Wlog.Logger        (logM)
+import           System.Wlog.LoggerName    (LoggerName (..))
+import           System.Wlog.LoggerNameBox (HasLoggerName (..), LoggerNameBox (..),
+                                            usingLoggerName)
+import           System.Wlog.Severity      (Severity (..))
 
 
 -- | Type alias for constraints 'CanLog' and 'HasLoggerName'.
@@ -80,7 +80,7 @@
 instance CanLog m => CanLog (LoggerNameBox m)
 instance CanLog m => CanLog (ReaderT r m)
 instance CanLog m => CanLog (StateT s m)
-instance CanLog m => CanLog (StateStrict.StateT s m)
+instance CanLog m => CanLog (StateLazy.StateT s m)
 instance CanLog m => CanLog (ExceptT s m)
 instance (CanLog m, Monoid w) => CanLog (RWSLazy.RWST r w s m)
 instance (CanLog m, Monoid w) => CanLog (RWSStrict.RWST r w s m)
diff --git a/src/System/Wlog/LoggerNameBox.hs b/src/System/Wlog/LoggerNameBox.hs
--- a/src/System/Wlog/LoggerNameBox.hs
+++ b/src/System/Wlog/LoggerNameBox.hs
@@ -23,7 +23,8 @@
                                               runReaderT)
 import qualified Control.Monad.RWS           as RWSLazy
 import qualified Control.Monad.RWS.Strict    as RWSStrict
-import           Control.Monad.State         (MonadState, StateT, mapStateT)
+import qualified Control.Monad.State         as StateLazy (StateT, mapStateT)
+import           Control.Monad.State.Strict  (MonadState, StateT, mapStateT)
 import           Control.Monad.Trans         (MonadIO, MonadTrans, lift)
 import           Control.Monad.Trans.Cont    (ContT, mapContT)
 import           Control.Monad.Trans.Control (MonadBaseControl (..))
@@ -52,6 +53,10 @@
     getLoggerName = lift getLoggerName
 
     modifyLoggerName = mapStateT . modifyLoggerName
+
+instance (Monad m, HasLoggerName m) => HasLoggerName (StateLazy.StateT a m) where
+    getLoggerName = lift getLoggerName
+    modifyLoggerName = StateLazy.mapStateT . modifyLoggerName
 
 instance (Monoid w, Monad m, HasLoggerName m) => HasLoggerName (WriterT w m) where
     getLoggerName = lift getLoggerName
