diff --git a/yesod-default/Yesod/Default/Main.hs b/yesod-default/Yesod/Default/Main.hs index 34b4a462..fd0638f8 100644 --- a/yesod-default/Yesod/Default/Main.hs +++ b/yesod-default/Yesod/Default/Main.hs @@ -9,11 +9,10 @@ module Yesod.Default.Main import Yesod.Core hiding (AppConfig (..)) 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.Handler.Warp (runSettings, defaultSettings, settingsPort, settingsHost) -import Network.Wai.Middleware.RequestLogger (logHandle) import System.Directory (doesDirectoryExist, removeDirectoryRecursive) import Network.Wai.Middleware.Gzip (gzip', GzipFiles (GzipCacheFolder), gzipFiles, def) import Network.Wai.Middleware.Autohead (autohead) @@ -81,6 +80,7 @@ defaultRunner f h = do #endif where middlewares = gzip' gset . jsonp . autohead + gset = def { gzipFiles = GzipCacheFolder staticCache } staticCache = ".static-cache" @@ -109,7 +109,5 @@ defaultDevelAppWith load withSite f = do logger <- makeDefaultLogger let p = appPort conf 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 - where - logToHandle logger msg = logBS logger msg >> flushLogger logger diff --git a/yesod/scaffold/Application.hs.cg b/yesod/scaffold/Application.hs.cg index 8f9e0372..8b126117 100644 --- a/yesod/scaffold/Application.hs.cg +++ b/yesod/scaffold/Application.hs.cg @@ -11,8 +11,9 @@ import Yesod.Auth import Yesod.Default.Config import Yesod.Default.Main import Yesod.Default.Handlers -import Yesod.Logger (Logger) +import Yesod.Logger (Logger, logBS, flushLogger) import Data.Dynamic (Dynamic, toDyn) +import Network.Wai.Middleware.RequestLogger (logHandleDev, logBS, logStdout) import qualified Database.Persist.Base~importMigration~ -- Import all relevant handler modules here. @@ -34,7 +35,13 @@ with~sitearg~ conf logger f = do $ either error return . Database.Persist.Base.loadConfig Database.Persist.Base.withPool (dbconf :: Settings.PersistConfig) $ \p -> do~runMigration~ 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 withDevelAppPort :: Dynamic