packages feed

logger-thread-0.1.0.0: app/Main.hs

{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}

module Main where

import Control.Concurrent            (threadDelay)
import Control.Concurrent.STM.TQueue
import Protolude                     hiding (bracket)

import LoggerThread

main :: IO ()
main = do
  args <- getArgs
  putText ("command line arguments: " <> show args)
  numCapabilities <- getNumCapabilities
  putText ("number of cores: " <> show numCapabilities)
  withLoggerThread mainThread

mainThread :: Logger -> IO ()
mainThread logger = do
  logger "logginng stuff"
  threadDelay (1000 * 1000)
  logger "logginng stuff again"
  threadDelay (1000 * 1000)
  logger "final logginng, exiting after this"