take logging out of default and into scaffold

requires the DEVELOPMENT CPP define to choose the logger
This commit is contained in:
Greg Weber 2011-12-26 00:32:36 -03:00
parent 144e174fe8
commit 1840eec7dc
2 changed files with 12 additions and 7 deletions

View File

@ -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

View File

@ -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