From e5adcba7ef3fd9508588979ddcc071a494010f2e Mon Sep 17 00:00:00 2001
From: stuebinm <stuebinm@disroot.org>
Date: Thu, 3 Mar 2022 17:46:14 +0100
Subject: [PATCH] cwality-maps: better logging

---
 cwality-maps/Main.hs | 16 +++++++++++-----
 package.yaml         |  1 +
 walint.cabal         |  1 +
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/cwality-maps/Main.hs b/cwality-maps/Main.hs
index f242b94..39723f4 100644
--- a/cwality-maps/Main.hs
+++ b/cwality-maps/Main.hs
@@ -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"
diff --git a/package.yaml b/package.yaml
index 2277d29..3dcda10 100644
--- a/package.yaml
+++ b/package.yaml
@@ -72,6 +72,7 @@ executables:
       - wai
       - wai-extra
       - warp
+      - monad-logger
       - fmt
       - tomland
       - microlens-platform
diff --git a/walint.cabal b/walint.cabal
index 167a394..dd1dfad 100644
--- a/walint.cabal
+++ b/walint.cabal
@@ -99,6 +99,7 @@ executable cwality-maps
     , filepath
     , fmt
     , microlens-platform
+    , monad-logger
     , mustache
     , parsec
     , servant
-- 
GitLab