take logging out of default and into scaffold
requires the DEVELOPMENT CPP define to choose the logger
This commit is contained in:
parent
144e174fe8
commit
1840eec7dc
@ -9,11 +9,10 @@ module Yesod.Default.Main
|
|||||||
|
|
||||||
import Yesod.Core hiding (AppConfig (..))
|
import Yesod.Core hiding (AppConfig (..))
|
||||||
import Yesod.Default.Config
|
import Yesod.Default.Config
|
||||||
import Yesod.Logger (Logger, makeDefaultLogger, logString, logBS, flushLogger)
|
import Yesod.Logger (Logger, makeDefaultLogger, logString, flushLogger)
|
||||||
import Network.Wai (Application)
|
import Network.Wai (Application)
|
||||||
import Network.Wai.Handler.Warp
|
import Network.Wai.Handler.Warp
|
||||||
(runSettings, defaultSettings, settingsPort, settingsHost)
|
(runSettings, defaultSettings, settingsPort, settingsHost)
|
||||||
import Network.Wai.Middleware.RequestLogger (logHandle)
|
|
||||||
import System.Directory (doesDirectoryExist, removeDirectoryRecursive)
|
import System.Directory (doesDirectoryExist, removeDirectoryRecursive)
|
||||||
import Network.Wai.Middleware.Gzip (gzip', GzipFiles (GzipCacheFolder), gzipFiles, def)
|
import Network.Wai.Middleware.Gzip (gzip', GzipFiles (GzipCacheFolder), gzipFiles, def)
|
||||||
import Network.Wai.Middleware.Autohead (autohead)
|
import Network.Wai.Middleware.Autohead (autohead)
|
||||||
@ -81,6 +80,7 @@ defaultRunner f h = do
|
|||||||
#endif
|
#endif
|
||||||
where
|
where
|
||||||
middlewares = gzip' gset . jsonp . autohead
|
middlewares = gzip' gset . jsonp . autohead
|
||||||
|
|
||||||
gset = def { gzipFiles = GzipCacheFolder staticCache }
|
gset = def { gzipFiles = GzipCacheFolder staticCache }
|
||||||
staticCache = ".static-cache"
|
staticCache = ".static-cache"
|
||||||
|
|
||||||
@ -109,7 +109,5 @@ defaultDevelAppWith load withSite f = do
|
|||||||
logger <- makeDefaultLogger
|
logger <- makeDefaultLogger
|
||||||
let p = appPort conf
|
let p = appPort conf
|
||||||
logString logger $ "Devel application launched, listening on port " ++ show p
|
logString logger $ "Devel application launched, listening on port " ++ show p
|
||||||
withSite conf logger $ \app -> f (p, logHandle (logToHandle logger) app)
|
withSite conf logger $ \app -> f (p, app)
|
||||||
flushLogger logger
|
flushLogger logger
|
||||||
where
|
|
||||||
logToHandle logger msg = logBS logger msg >> flushLogger logger
|
|
||||||
|
|||||||
@ -11,8 +11,9 @@ import Yesod.Auth
|
|||||||
import Yesod.Default.Config
|
import Yesod.Default.Config
|
||||||
import Yesod.Default.Main
|
import Yesod.Default.Main
|
||||||
import Yesod.Default.Handlers
|
import Yesod.Default.Handlers
|
||||||
import Yesod.Logger (Logger)
|
import Yesod.Logger (Logger, logBS, flushLogger)
|
||||||
import Data.Dynamic (Dynamic, toDyn)
|
import Data.Dynamic (Dynamic, toDyn)
|
||||||
|
import Network.Wai.Middleware.RequestLogger (logHandleDev, logBS, logStdout)
|
||||||
import qualified Database.Persist.Base~importMigration~
|
import qualified Database.Persist.Base~importMigration~
|
||||||
|
|
||||||
-- Import all relevant handler modules here.
|
-- Import all relevant handler modules here.
|
||||||
@ -34,7 +35,13 @@ with~sitearg~ conf logger f = do
|
|||||||
$ either error return . Database.Persist.Base.loadConfig
|
$ either error return . Database.Persist.Base.loadConfig
|
||||||
Database.Persist.Base.withPool (dbconf :: Settings.PersistConfig) $ \p -> do~runMigration~
|
Database.Persist.Base.withPool (dbconf :: Settings.PersistConfig) $ \p -> do~runMigration~
|
||||||
let h = ~sitearg~ conf logger s p
|
let h = ~sitearg~ conf logger s p
|
||||||
defaultRunner f h
|
defaultRunner (f . logWare) h
|
||||||
|
where
|
||||||
|
#ifdef DEVELOPMENT
|
||||||
|
logWare = logHandleDev (\msg -> logBS logger msg » flushLogger logger)
|
||||||
|
#else
|
||||||
|
logWare = logStdout
|
||||||
|
#endif
|
||||||
|
|
||||||
-- for yesod devel
|
-- for yesod devel
|
||||||
withDevelAppPort :: Dynamic
|
withDevelAppPort :: Dynamic
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user