packages feed

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 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)