From 24ced6db101d7f9ea4e4544566cad9eab372ad51 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Thu, 21 Jan 2016 11:48:30 +0000 Subject: Logging in Handler --- server/src/Thermoprint/Server.hs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'server/src/Thermoprint/Server.hs') diff --git a/server/src/Thermoprint/Server.hs b/server/src/Thermoprint/Server.hs index 8cbe71d..b26d387 100644 --- a/server/src/Thermoprint/Server.hs +++ b/server/src/Thermoprint/Server.hs @@ -77,7 +77,7 @@ Draft |] -thermoprintServer :: ( MonadLogger m +thermoprintServer :: ( MonadLoggerIO m , MonadIO m , MonadBaseControl IO m , MonadReader ConnectionPool m @@ -97,16 +97,19 @@ thermoprintServer io = Dyre.wrapMain $ Dyre.defaultParams realMain (Config{..}) = enter io $ do sqlPool <- ask - runSqlPool (runMigrationSilent migrateAll) sqlPool >>= mapM_ $(logWarn) + runSqlPool (runMigrationSilent migrateAll) sqlPool >>= mapM_ ($(logWarnS) "DB") + + logFunc <- askLoggerIO + let handlerInput = HandlerInput { sqlPool = sqlPool } - io' :: ReaderT HandlerInput IO :~> IO - io' = runReaderTNat handlerInput + io' :: ReaderT HandlerInput (LoggingT IO) :~> IO + io' = Nat (($ logFunc) . runLoggingT) . runReaderTNat handlerInput liftIO . Warp.runSettings warpSettings . serve thermoprintAPI $ enter (hoistNat io') thermoprintServer' -type Handler = EitherT ServantErr (ReaderT HandlerInput IO) +type Handler = EitherT ServantErr (ReaderT HandlerInput (LoggingT IO)) (<||>) :: Monad m => m a -> m b -> m (a :<|> b) (<||>) = liftM2 (:<|>) @@ -121,7 +124,7 @@ thermoprintServer' = listPrinters listPrinters :: Handler (Map PrinterId PrinterStatus) -listPrinters = return Set.empty +listPrinters = return $ Map.fromList [(1, Available), (7, Available), (3, Available)] queueJob :: Maybe PrinterId -> Printout -> Handler API.JobId queueJob = return undefined -- cgit v1.2.3