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:             0.4.5
+version:             0.5.0
 synopsis:            Flexible, configurable, monadic and pretty logging
 homepage:            https://github.com/serokell/log-warper
 license:             MIT
diff --git a/src/System/Wlog/Launcher.hs b/src/System/Wlog/Launcher.hs
--- a/src/System/Wlog/Launcher.hs
+++ b/src/System/Wlog/Launcher.hs
@@ -98,7 +98,7 @@
         unless (parent == mempty && not consoleOutput) $
             setSeverityMaybe parent _ltSeverity
 
-        whenJust _ltFile $ \fileName -> liftIO $ do
+        forM_ _ltFiles $ \fileName -> liftIO $ do
             let filePriority   = convertSeverity $ _ltSeverity ?: Debug
             let handlerPath    = handlerPrefix </> fileName
             case handlerFabric of
diff --git a/src/System/Wlog/LoggerConfig.hs b/src/System/Wlog/LoggerConfig.hs
--- a/src/System/Wlog/LoggerConfig.hs
+++ b/src/System/Wlog/LoggerConfig.hs
@@ -1,6 +1,8 @@
-{-# LANGUAGE FlexibleContexts  #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE FlexibleContexts    #-}
+{-# LANGUAGE NoImplicitPrelude   #-}
+{-# LANGUAGE OverloadedStrings   #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE TemplateHaskell     #-}
 
 -- |
 -- Module      : System.Wlog.LoggerConfig
@@ -20,7 +22,7 @@
 
          -- * Hierarchical tree of loggers (with lenses)
        , LoggerTree (..)
-       , ltFile
+       , ltFiles
        , ltSeverity
        , ltSubloggers
 
@@ -87,7 +89,7 @@
 -- | Stores configuration for hierarchical loggers.
 data LoggerTree = LoggerTree
     { _ltSubloggers :: !LoggerMap
-    , _ltFile       :: !(Maybe FilePath)
+    , _ltFiles      :: ![FilePath]
     , _ltSeverity   :: !(Maybe Severity)
     } deriving (Generic, Show)
 
@@ -96,24 +98,26 @@
 -- TODO: QuickCheck tests on monoid laws
 instance Monoid LoggerTree where
     mempty = LoggerTree
-        { _ltFile       = Nothing
+        { _ltFiles       = []
         , _ltSeverity   = Nothing
         , _ltSubloggers = mempty
         }
 
     lt1 `mappend` lt2 = LoggerTree
-        { _ltFile       = _ltFile       lt1 <|> _ltFile       lt2
+        { _ltFiles      = _ltFiles      lt1 <>  _ltFiles      lt2
         , _ltSeverity   = _ltSeverity   lt1 <|> _ltSeverity   lt2
-        , _ltSubloggers = _ltSubloggers lt1  <> _ltSubloggers lt2
+        , _ltSubloggers = _ltSubloggers lt1 <>  _ltSubloggers lt2
         }
 
 nonLoggers :: [Text]
-nonLoggers = ["file", "severity"]
+nonLoggers = ["file", "files", "severity"]
 
 instance ToJSON LoggerTree
 instance FromJSON LoggerTree where
     parseJSON = withObject "loggers tree" $ \o -> do
-        _ltFile       <- o .:? "file"
+        (singleFile :: Maybe FilePath) <- o .:? "file"
+        (manyFiles :: [FilePath]) <- o .:? "files" .!= []
+        let _ltFiles = maybe [] (:[]) singleFile ++ manyFiles
         _ltSeverity   <- o .:? "severity"
         _ltSubloggers <- for (filterObject nonLoggers o) parseJSON
         return LoggerTree{..}
diff --git a/test/Test/Wlog/RollingSpec.hs b/test/Test/Wlog/RollingSpec.hs
--- a/test/Test/Wlog/RollingSpec.hs
+++ b/test/Test/Wlog/RollingSpec.hs
@@ -7,7 +7,7 @@
 import           Universum
 
 import           Control.Concurrent.Async (mapConcurrently)
-import           Control.Lens             (zoom, (?=))
+import           Control.Lens             (zoom, (.=), (?=))
 import qualified Prelude                  (read)
 import           System.Directory         (doesFileExist, removeFile)
 import           System.FilePath          (takeExtension)
@@ -22,8 +22,8 @@
 import           System.Wlog              (InvalidRotation (..), LoggerConfig (..),
                                            RotationParameters (..), Severity (..),
                                            fromScratch, isValidRotation, lcFilePrefix,
-                                           lcRotation, lcTree, logDebug, logIndex, ltFile,
-                                           ltSeverity, releaseAllHandlers,
+                                           lcRotation, lcTree, logDebug, logIndex,
+                                           ltFiles, ltSeverity, releaseAllHandlers,
                                            rotationFileHandler, setupLogging,
                                            usingLoggerName, whenExist, zoomLogger)
 
@@ -73,7 +73,7 @@
     zoom lcTree $ do
         ltSeverity ?= Debug
         zoomLogger "test" $
-            ltFile ?= testLogFile
+            ltFiles .= [testLogFile]
 
 logThreadsNum :: Word
 logThreadsNum = 4
