packages feed

monad-logger-syslog 0.1.0.0 → 0.1.1.0

raw patch · 5 files changed

+80/−49 lines, 5 filesdep −monad-logger-syslogdep −shellydep ~basedep ~fast-loggerdep ~monad-loggernew-uploader

Dependencies removed: monad-logger-syslog, shelly

Dependency ranges changed: base, fast-logger, monad-logger

Files

+ Control/Monad/Logger/Syslog.hs view
@@ -0,0 +1,24 @@+module Control.Monad.Logger.Syslog+       ( module System.Log.MonadLogger.Syslog )+       where++{-|+Module      : Control.Monad.Logger.Syslog+Description : Functions for directing monad-logger output to syslog+Copyright   : FPComplete, 2015+License     : MIT+Maintainer  : FP Complete Developers <dev@fpcomplete.com>+Stability   : experimental+Portability : POSIX++Example:+```+import Control.Monad.Logger ( logDebugN  )+import Control.Monad.Logger.Syslog ( runSyslogLoggingT )++main :: IO ()+main = runSyslogLoggingT (logDebugN "HELLO!")+```+|-}++import System.Log.MonadLogger.Syslog
README.md view
@@ -1,4 +1,16 @@-monad-logger-rsyslog-====================+# Monad Logger for Syslog -an rsyslog output for monad-logger+![TravisCI](https://travis-ci.org/fpco/monad-logger-syslog.svg)+![Hackage](https://img.shields.io/hackage/v/monad-logger-syslog.svg)++## Install++    cabal install monad-logger-syslog++## Usage (example)++    import Control.Monad.Logger ( logDebugN  )+    import Control.Monad.Logger.Syslog ( runSyslogLoggingT )++    main :: IO ()+    main = runSyslogLoggingT (logDebugN "HELLO!")
System/Log/MonadLogger/Syslog.hs view
@@ -1,11 +1,18 @@ {-# LANGUAGE OverloadedStrings #-}-module System.Log.MonadLogger.Syslog where +module System.Log.MonadLogger.Syslog+       ( runSyslogLoggingT+       , syslogOutput+       , defaultSyslogOutput+       , formattedSyslogOutput+       )+       where+ import Control.Monad.IO.Class (MonadIO ()) import Control.Monad.Logger import System.Posix.Syslog import Data.Text (unpack)-import System.Log.FastLogger (LogStr, fromLogStr)+import System.Log.FastLogger (fromLogStr) import qualified Data.ByteString.Char8 as BS8  runSyslogLoggingT :: MonadIO m => LoggingT m a -> m a@@ -17,20 +24,24 @@ {- runSyslogLoggingT :: MonadIO m => String -> LoggingT m a -> m a runSyslogLoggingT source action =-  useSyslog source (runLoggingT action syslogOutput)+  useSyslog source (runLoggingT action defaultSyslogOutput) -} +syslogOutput :: Loc -> LogSource -> LogLevel -> LogStr -> IO ()+syslogOutput = defaultSyslogOutput -syslogOutput :: Loc-              -> LogSource-              -> LogLevel-              -> LogStr-              -> IO ()-syslogOutput l s level msg =-    syslog (levelToPriority level) $-        BS8.unpack $ fromLogStr $-            defaultLogStr l s level msg+defaultSyslogOutput :: Loc -> LogSource -> LogLevel -> LogStr -> IO ()+defaultSyslogOutput = formattedSyslogOutput defaultLogStr +formattedSyslogOutput :: (Loc -> LogSource -> LogLevel -> LogStr -> LogStr)+                      -> Loc+                      -> LogSource+                      -> LogLevel+                      -> LogStr+                      -> IO ()+formattedSyslogOutput f l s level msg =+  syslog (levelToPriority level)+         (BS8.unpack (fromLogStr (f l s level msg)))  levelToPriority :: LogLevel -> Priority levelToPriority LevelDebug = Debug
monad-logger-syslog.cabal view
@@ -1,34 +1,30 @@ name:                monad-logger-syslog-version:             0.1.0.0-synopsis:            rsyslog output for monad-logger-description:         rsyslog output for monad-logger-homepage:            https://github.com/docmunch/monad-logger-rsyslog+version:             0.1.1.0+synopsis:            syslog output for monad-logger+description:         syslog output for monad-logger+homepage:            https://github.com/fpco/monad-logger-syslog license:             MIT license-file:        LICENSE-author:              Greg Weber-maintainer:          greg@gregweber.info-category:            System+author:              Greg Weber & FP Complete Developers+maintainer:          devs@fpcomplete.com+category:            Logging build-type:          Simple extra-source-files:  README.md cabal-version:       >=1.10 +source-repository head+  type:     git+  location: https://github.com/fpco/monad-logger-syslog+ library   default-language:    Haskell2010-  exposed-modules:     System.Log.MonadLogger.Syslog+  exposed-modules:     Control.Monad.Logger.Syslog+                       System.Log.MonadLogger.Syslog   ghc-options:        -Wall-  build-depends:       base >=4.6 && <4.7-                     , monad-logger >= 0.3.4.0-                     , fast-logger >= 2.1.0+  build-depends:       base >=4.6 && <5+                     , bytestring+                     , fast-logger                      , hsyslog-                     , transformers+                     , monad-logger                      , text-                     , bytestring--test-suite smoke-  default-language:    Haskell2010--  type: exitcode-stdio-1.0-  hs-source-dirs: test-  main-is: smoke.hs--  build-depends: base, monad-logger, monad-logger-syslog, shelly+                     , transformers
− test/smoke.hs
@@ -1,12 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-import Control.Monad.Logger-import System.Log.MonadLogger.Syslog-import Shelly--main :: IO ()-main = do-    let logFile = "/var/log/syslog"-    runSyslogLoggingT $ logDebugN "HELLO!"-    shellyNoDir $-        whenM (test_e logFile) $-            cmd "tail" logFile