{-# LANGUAGE CPP #-}
{-# OPTIONS_GHC -fno-warn-type-defaults #-}
module ALife.Creatur.Logger
(
Logger(..),
timestamp
) where
import Control.Monad.State (StateT)
#if MIN_VERSION_base(4,8,0)
import Data.Time (formatTime, getZonedTime, defaultTimeLocale)
#else
import Data.Time (formatTime, getZonedTime)
import System.Locale (defaultTimeLocale)
#endif
class Logger l where
writeToLog :: String -> StateT l IO ()
timestamp :: IO String
timestamp =
fmap (formatTime defaultTimeLocale "%y%m%d%H%M%S%z") getZonedTime