simple-log-syslog 0.1.1.0 → 0.2.0
raw patch · 4 files changed
+105/−105 lines, 4 filesdep ~simple-logPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: simple-log
API changes (from Hackage documentation)
- System.Log.Syslog: AUTH :: Facility
- System.Log.Syslog: AUTHPRIV :: Facility
- System.Log.Syslog: CONS :: Option
- System.Log.Syslog: CRON :: Facility
- System.Log.Syslog: DAEMON :: Facility
- System.Log.Syslog: FTP :: Facility
- System.Log.Syslog: KERN :: Facility
- System.Log.Syslog: LOCAL0 :: Facility
- System.Log.Syslog: LOCAL1 :: Facility
- System.Log.Syslog: LOCAL2 :: Facility
- System.Log.Syslog: LOCAL3 :: Facility
- System.Log.Syslog: LOCAL4 :: Facility
- System.Log.Syslog: LOCAL5 :: Facility
- System.Log.Syslog: LOCAL6 :: Facility
- System.Log.Syslog: LOCAL7 :: Facility
- System.Log.Syslog: LPR :: Facility
- System.Log.Syslog: MAIL :: Facility
- System.Log.Syslog: NDELAY :: Option
- System.Log.Syslog: NEWS :: Facility
- System.Log.Syslog: NOWAIT :: Option
- System.Log.Syslog: ODELAY :: Option
- System.Log.Syslog: PERROR :: Option
- System.Log.Syslog: PID :: Option
- System.Log.Syslog: SYSLOG :: Facility
- System.Log.Syslog: SyslogMessage :: Priority -> String -> SyslogMessage
- System.Log.Syslog: USER :: Facility
- System.Log.Syslog: UUCP :: Facility
- System.Log.Syslog: data Facility :: *
- System.Log.Syslog: data Option :: *
- System.Log.Syslog: data SyslogMessage
- System.Log.Syslog: instance Eq SyslogMessage
- System.Log.Syslog: instance Show SyslogMessage
- System.Log.Syslog: syslog :: String -> [Option] -> Facility -> Logger
- System.Log.Syslog: syslogMessage :: SyslogMessage -> String
- System.Log.Syslog: syslogMsg :: Converter SyslogMessage
- System.Log.Syslog: syslogPriority :: SyslogMessage -> Priority
- System.Log.Syslog: syslog_ :: String -> Logger
- System.Log.Syslog: toSyslog :: String -> [Option] -> Facility -> Consumer SyslogMessage
- System.Log.Syslog: toSyslog_ :: String -> Consumer SyslogMessage
+ System.Log.Simple.Syslog: AUTH :: Facility
+ System.Log.Simple.Syslog: AUTHPRIV :: Facility
+ System.Log.Simple.Syslog: CONS :: Option
+ System.Log.Simple.Syslog: CRON :: Facility
+ System.Log.Simple.Syslog: DAEMON :: Facility
+ System.Log.Simple.Syslog: FTP :: Facility
+ System.Log.Simple.Syslog: KERN :: Facility
+ System.Log.Simple.Syslog: LOCAL0 :: Facility
+ System.Log.Simple.Syslog: LOCAL1 :: Facility
+ System.Log.Simple.Syslog: LOCAL2 :: Facility
+ System.Log.Simple.Syslog: LOCAL3 :: Facility
+ System.Log.Simple.Syslog: LOCAL4 :: Facility
+ System.Log.Simple.Syslog: LOCAL5 :: Facility
+ System.Log.Simple.Syslog: LOCAL6 :: Facility
+ System.Log.Simple.Syslog: LOCAL7 :: Facility
+ System.Log.Simple.Syslog: LPR :: Facility
+ System.Log.Simple.Syslog: MAIL :: Facility
+ System.Log.Simple.Syslog: NDELAY :: Option
+ System.Log.Simple.Syslog: NEWS :: Facility
+ System.Log.Simple.Syslog: NOWAIT :: Option
+ System.Log.Simple.Syslog: ODELAY :: Option
+ System.Log.Simple.Syslog: PERROR :: Option
+ System.Log.Simple.Syslog: PID :: Option
+ System.Log.Simple.Syslog: SYSLOG :: Facility
+ System.Log.Simple.Syslog: SyslogMessage :: Priority -> String -> SyslogMessage
+ System.Log.Simple.Syslog: USER :: Facility
+ System.Log.Simple.Syslog: UUCP :: Facility
+ System.Log.Simple.Syslog: data Facility :: *
+ System.Log.Simple.Syslog: data Option :: *
+ System.Log.Simple.Syslog: data SyslogMessage
+ System.Log.Simple.Syslog: instance Eq SyslogMessage
+ System.Log.Simple.Syslog: instance Show SyslogMessage
+ System.Log.Simple.Syslog: syslog :: String -> [Option] -> Facility -> Logger
+ System.Log.Simple.Syslog: syslogMessage :: SyslogMessage -> String
+ System.Log.Simple.Syslog: syslogMsg :: Converter SyslogMessage
+ System.Log.Simple.Syslog: syslogPriority :: SyslogMessage -> Priority
+ System.Log.Simple.Syslog: syslog_ :: String -> Logger
+ System.Log.Simple.Syslog: toSyslog :: String -> [Option] -> Facility -> Consumer SyslogMessage
+ System.Log.Simple.Syslog: toSyslog_ :: String -> Consumer SyslogMessage
Files
- LICENSE +30/−30
- simple-log-syslog.cabal +22/−22
- src/System/Log/Simple/Syslog.hs +53/−0
- src/System/Log/Syslog.hs +0/−53
LICENSE view
@@ -1,30 +1,30 @@-Copyright (c) 2012, Alexandr `voidex` Ruchkin--All rights reserved.--Redistribution and use in source and binary forms, with or without-modification, are permitted provided that the following conditions are met:-- * Redistributions of source code must retain the above copyright- notice, this list of conditions and the following disclaimer.-- * Redistributions in binary form must reproduce the above- copyright notice, this list of conditions and the following- disclaimer in the documentation and/or other materials provided- with the distribution.-- * Neither the name of Alexandr `voidex` Ruchkin nor the names of other- contributors may be used to endorse or promote products derived- from this software without specific prior written permission.--THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.+Copyright (c) 2012, Alexandr `voidex` Ruchkin + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of Alexandr `voidex` Ruchkin nor the names of other + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
simple-log-syslog.cabal view
@@ -1,22 +1,22 @@-name: simple-log-syslog-version: 0.1.1.0-synopsis: Syslog backend for simple-log--- description: -homepage: http://github.com/mvoidex/simple-log-syslog-license: BSD3-license-file: LICENSE-author: Alexandr `voidex` Ruchkin-maintainer: voidex@live.com-Category: Logging-build-type: Simple-cabal-version: >=1.8--library- hs-source-dirs: src - build-depends:- base >= 4.6 && < 6,- text == 0.11.*,- simple-log == 0.2.*,- hsyslog == 1.*- exposed-modules:- System.Log.Syslog+name: simple-log-syslog +version: 0.2.0 +synopsis: Syslog backend for simple-log +-- description: +homepage: http://github.com/mvoidex/simple-log-syslog +license: BSD3 +license-file: LICENSE +author: Alexandr `voidex` Ruchkin +maintainer: voidex@live.com +Category: Logging +build-type: Simple +cabal-version: >=1.8 + +library + hs-source-dirs: src + build-depends: + base >= 4.6 && < 6, + text == 0.11.*, + simple-log == 0.3.*, + hsyslog == 1.* + exposed-modules: + System.Log.Simple.Syslog
+ src/System/Log/Simple/Syslog.hs view
@@ -0,0 +1,53 @@+{-# LANGUAGE OverloadedStrings #-} + +-- | Module provides syslog logger for simple-log +-- +-- >yourFunction :: MonadLog m => m () +-- >yourFunction = scope "your" $ log Trace "Hello" +-- > +-- >run :: IO () +-- >run = do +-- > l <- newLog (fileCfg "log.cfg" 60) [syslog "name"] +-- > withLog l yourFunction +-- +module System.Log.Simple.Syslog ( + SyslogMessage(..), + syslogMsg, + toSyslog, toSyslog_, + syslog, syslog_, + + Option(..), Facility(..) + ) where + +import System.Posix.Syslog (Option(..), Facility(..)) +import qualified System.Posix.Syslog as Syslog +import qualified Data.Text as T +import System.Log.Simple.Base + +data SyslogMessage = SyslogMessage { + syslogPriority :: Syslog.Priority, + syslogMessage :: String } + deriving (Eq, Show) + +syslogMsg :: Converter SyslogMessage +syslogMsg (Message _ lvl path msg) = SyslogMessage (priority lvl) $ T.unpack $ T.concat [T.intercalate "/" path, "> ", msg] where + priority Trace = Syslog.Debug + priority Debug = Syslog.Debug + priority Info = Syslog.Info + priority Warning = Syslog.Warning + priority Error = Syslog.Error + priority Fatal = Syslog.Critical + +toSyslog :: String -> [Option] -> Facility -> Consumer SyslogMessage +toSyslog name ops facility = Consumer withSys where + withSys f = Syslog.withSyslog name ops facility $ f $ \(SyslogMessage p str) -> Syslog.syslog p str + +toSyslog_ :: String -> Consumer SyslogMessage +toSyslog_ name = Consumer withSys where + withSys f = Syslog.useSyslog name $ f $ \(SyslogMessage p str) -> Syslog.syslog p str + +syslog :: String -> [Option] -> Facility -> Logger +syslog name ops facility = logger syslogMsg (toSyslog name ops facility) + +syslog_ :: String -> Logger +syslog_ name = logger syslogMsg (toSyslog_ name)
− src/System/Log/Syslog.hs
@@ -1,53 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}---- | Module provides syslog logger for simple-log------ >yourFunction :: MonadLog m => m ()--- >yourFunction = scope "your" $ log Trace "Hello"--- >--- >run :: IO ()--- >run = do--- > l <- newLog (fileCfg "log.cfg" 60) [syslog "name"]--- > withLog l yourFunction----module System.Log.Syslog (- SyslogMessage(..),- syslogMsg,- toSyslog, toSyslog_,- syslog, syslog_,-- Option(..), Facility(..)- ) where--import System.Posix.Syslog (Option(..), Facility(..))-import qualified System.Posix.Syslog as Syslog-import qualified Data.Text as T-import System.Log.Base--data SyslogMessage = SyslogMessage {- syslogPriority :: Syslog.Priority,- syslogMessage :: String }- deriving (Eq, Show)--syslogMsg :: Converter SyslogMessage-syslogMsg (Message _ lvl path msg) = SyslogMessage (priority lvl) $ T.unpack $ T.concat [T.intercalate "/" path, "> ", msg] where- priority Trace = Syslog.Debug- priority Debug = Syslog.Debug- priority Info = Syslog.Info- priority Warning = Syslog.Warning- priority Error = Syslog.Error- priority Fatal = Syslog.Critical--toSyslog :: String -> [Option] -> Facility -> Consumer SyslogMessage-toSyslog name ops facility = Consumer withSys where- withSys f = Syslog.withSyslog name ops facility $ f $ \(SyslogMessage p str) -> Syslog.syslog p str--toSyslog_ :: String -> Consumer SyslogMessage-toSyslog_ name = Consumer withSys where- withSys f = Syslog.useSyslog name $ f $ \(SyslogMessage p str) -> Syslog.syslog p str--syslog :: String -> [Option] -> Facility -> Logger-syslog name ops facility = logger syslogMsg (toSyslog name ops facility)--syslog_ :: String -> Logger-syslog_ name = logger syslogMsg (toSyslog_ name)