logging-effect-extra-file: TH splices to augment log messages with file info

[ deprecated, library, mit, other, program ] [ Propose Tags ]
Deprecated

TH splices to augment log messages with file info.


[Skip to Readme]

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 1.0.0, 1.1.0, 1.1.1, 1.1.2, 2.0.0, 2.0.1
Change log CHANGELOG.md
Dependencies base (>=4.8 && <4.11), logging-effect (>=1.1.0 && <1.3), logging-effect-extra-file, template-haskell, wl-pprint-text (>=1.1.0.4 && <1.2) [details]
License MIT
Author
Maintainer Jason Shipman
Category Other
Home page https://github.com/jship/logging-effect-extra#readme
Bug tracker https://github.com/jship/logging-effect-extra/issues
Source repo head: git clone https://github.com/jship/logging-effect-extra
Uploaded by jship at 2017-11-05T02:49:19Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables log-file-and-severity, log-file
Downloads 3251 total (20 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-11-05 [all 1 reports]

Readme for logging-effect-extra-file-1.0.0

[back to package description]

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 Text.PrettyPrint.Leijen.Text (Doc)

app :: MonadLog (WithSeverity (WithFile Doc)) 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.logInformationalTH) "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