MIT licensed and maintained by Jason Shipman
This version can be pinned in stack with:logging-effect-extra-file-2.0.1@sha256:bf5262453c380ba5eddd80dbd254e706d82b5db1bbe3633ef75660784462d276,1941

Module documentation for 2.0.1

logging-effect-extra-file

Synopsis

{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}

module Main (main) where

import Control.Monad.Log (MonadLog, WithSeverity)
import qualified Control.Monad.Log as Log
import Control.Monad.Log.Extra.File (WithFile)
import qualified Control.Monad.Log.Extra.File as Log
import qualified System.IO as IO
import Data.Text.Prettyprint.Doc (Doc)

app :: MonadLog (WithSeverity (WithFile (Doc ann))) m => m ()
app = do
  $(Log.logEmergencyTH) "GAH! All systems are down!!!"
  $(Log.logAlertTH) "Red alert!"
  $(Log.logCriticalTH) "Critical hit!"
  $(Log.logErrorTH) "Errors abound!"
  $(Log.logWarningTH) "Cargo number 2331 has commandeered the vessel"
  $(Log.logNoticeTH) "Heads up, but it's no biggie."
  $(Log.logInfoTH) "Does anyone read these?"
  $(Log.logDebugTH) "Sleuthing with log messages..."

main :: IO ()
main = Log.withFDHandler Log.defaultBatchingOptions IO.stdout 0.4 80 $ \stdoutHandler ->
  Log.runLoggingT app (stdoutHandler . Log.renderWithSeverity (Log.renderWithFile id))

Usage via stack

# Build the project.
stack build

# Run the `log-file-and-severity` example
stack exec log-file-and-severity

# Run the `log-file` example
stack exec log-file

Changes

Change log

2.0.1

  • Update README.md example to use prettyprinter instad of wl-pprint-text

2.0.0

  • Include more info in renderWithFile
  • Bump upper bounds on base to 4.12 and logging-effect to 1.4
  • Replace wl-pprint-text with prettyprinter 1.2.*

1.1.2

  • Update haddock example to use logInfoTH instead of deprecated logInformationalTH splice

1.1.1

  • Update README to use logInfoTH instead of deprecated logInformationalTH splice

1.1.0

  • Deprecate logInformationalTH splice
  • Add logInfoTH splice

1.0.0

  • Initial release