Skip to content
Snippets Groups Projects
Commit e5adcba7 authored by stuebinm's avatar stuebinm
Browse files

cwality-maps: better logging

parent 4324662b
No related branches found
No related tags found
No related merge requests found
......@@ -44,6 +44,9 @@ import Servant.Server.StaticFiles (serveDirectoryWebApp)
import Substitute (Substitutable (substitute),
SubstitutionError)
import Control.Monad.Logger
-- | a map's filename ending in .json
-- (a newtype to differentiate between maps and assets in a route)
newtype JsonFilename = JsonFilename Text
......@@ -87,14 +90,15 @@ mkMap :: Config True -> Tiledmap -> MapParams -> ([SubstitutionError], Tiledmap)
mkMap _config basemap params =
substitute basemap (substs params)
mapHandler :: Config True -> JsonFilename -> MapParams -> Handler Tiledmap
mapHandler config (JsonFilename mapname) params =
case M.lookup mapname (snd $ view template config) of
Just basemap -> do
let (errors, map) = mkMap config basemap params
print errors
pure map
Just basemap -> runStdoutLoggingT $
logWarnN (pretty errors) >> pure tiledmap
where (errors, tiledmap) = mkMap config basemap params
pretty errors = T.concat
. intersperse "\n "
$ concatMap (lines . show) errors
Nothing -> throwError err404
-- | Complete set of routes: API + HTML sites
......@@ -106,6 +110,8 @@ server config = mapHandler config
app :: Config True -> Application
app = serve (Proxy @Routes) . server
main :: IO ()
main = do
config <- loadConfig "./cwality-config.toml"
......
......@@ -72,6 +72,7 @@ executables:
- wai
- wai-extra
- warp
- monad-logger
- fmt
- tomland
- microlens-platform
......
......@@ -99,6 +99,7 @@ executable cwality-maps
, filepath
, fmt
, microlens-platform
, monad-logger
, mustache
, parsec
, servant
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment