packages feed

lager 0.1.0.1 → 0.2.0.0

raw patch · 4 files changed

+37/−37 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Lager: Msg :: Level -> Text -> Text -> Msg
+ Lager: Msg :: Level -> String -> String -> Msg
- Lager: [src] :: Msg -> Text
+ Lager: [src] :: Msg -> String
- Lager: [txt] :: Msg -> Text
+ Lager: [txt] :: Msg -> String
- Lager: logAlert :: Lager -> Text -> IO ()
+ Lager: logAlert :: Lager -> String -> IO ()
- Lager: logCrit :: Lager -> Text -> IO ()
+ Lager: logCrit :: Lager -> String -> IO ()
- Lager: logDebug :: Lager -> Text -> IO ()
+ Lager: logDebug :: Lager -> String -> IO ()
- Lager: logEmerg :: Lager -> Text -> IO ()
+ Lager: logEmerg :: Lager -> String -> IO ()
- Lager: logErr :: Lager -> Text -> IO ()
+ Lager: logErr :: Lager -> String -> IO ()
- Lager: logInfo :: Lager -> Text -> IO ()
+ Lager: logInfo :: Lager -> String -> IO ()
- Lager: logNotice :: Lager -> Text -> IO ()
+ Lager: logNotice :: Lager -> String -> IO ()
- Lager: logSTM :: Lager -> Level -> Text -> STM ()
+ Lager: logSTM :: Lager -> Level -> String -> STM ()
- Lager: logSub :: Text -> Lager -> Lager
+ Lager: logSub :: String -> Lager -> Lager
- Lager: logWarning :: Lager -> Text -> IO ()
+ Lager: logWarning :: Lager -> String -> IO ()
- Lager: newLager :: Text -> [Target] -> IO Lager
+ Lager: newLager :: String -> [Target] -> IO Lager
- Lager: newLagerSTM :: Text -> [Target] -> STM Lager
+ Lager: newLagerSTM :: String -> [Target] -> STM Lager
- Lager: withLager :: Text -> [Target] -> (Lager -> IO a) -> IO a
+ Lager: withLager :: String -> [Target] -> (Lager -> IO a) -> IO a

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for lager +## 0.2.0.0 -- 3-26-2026++* switch to `String` API+ ## 0.1.0.1 -- 3-26-2026  * Add instances to `Msg`
lager.cabal view
@@ -1,6 +1,6 @@ cabal-version:      3.0 name:               lager-version:            0.1.0.1+version:            0.2.0.0 synopsis:           Concurrent logging license:            MIT license-file:       LICENSE
lib/Lager.hs view
@@ -1,5 +1,4 @@-{-# LANGUAGE DeriveGeneric     #-}-{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE DeriveGeneric #-}  -- | Concurrent Lager 🍺 --@@ -48,9 +47,7 @@ import Control.Monad import Data.Functor import Data.Ord-import Data.Text.Lazy (Text)-import qualified Data.Text.Lazy    as T-import qualified Data.Text.Lazy.IO as T+import qualified Data.Text.Lazy as T import GHC.Generics import Prettyprinter import Prettyprinter.Render.Terminal@@ -58,7 +55,7 @@  -- | Logging handle data Lager = Lager-  { nm :: Text        -- source name+  { nm :: String      -- source name   , tg :: [Target]   , wc :: TChan Msg   -- write chan   , rc :: [TChan Msg] -- read chans@@ -69,16 +66,16 @@ -- | Log message data Msg = Msg   { lvl :: Level-  , txt :: Text -- ^ message-  , src :: Text -- ^ logger source+  , txt :: String -- ^ message+  , src :: String -- ^ logger source   } deriving (Eq, Generic, Read, Show)  -- | Acquire a new handle-newLager :: Text -> [Target] -> IO Lager+newLager :: String -> [Target] -> IO Lager newLager nm' = atomically . newLagerSTM nm'  -- | Acquire a new handle in STM-newLagerSTM :: Text -> [Target] -> STM Lager+newLagerSTM :: String -> [Target] -> STM Lager newLagerSTM nm' tgt' = do   wc' <- newBroadcastTChan   Lager nm' tgt' wc'@@ -89,7 +86,7 @@ -- | Acquire a 'newLager', concurrently 'runLager', -- then finally 'drinkLager' if the body terminates -- or throws an exception.-withLager :: Text -> [Target] -> (Lager -> IO a) -> IO a+withLager :: String -> [Target] -> (Lager -> IO a) -> IO a withLager nm' tgt' k = do   l <- newLager nm' tgt'   either id id@@ -108,47 +105,47 @@ checkDrunk :: Lager -> STM () checkDrunk = check <=< readTVar . drunk -logDebug :: Lager -> Text -> IO ()+logDebug :: Lager -> String -> IO () logDebug l = lager l Debug -logInfo :: Lager -> Text -> IO ()+logInfo :: Lager -> String -> IO () logInfo l = lager l Info -logNotice :: Lager -> Text -> IO ()+logNotice :: Lager -> String -> IO () logNotice l = lager l Notice -logWarning :: Lager -> Text -> IO ()+logWarning :: Lager -> String -> IO () logWarning l = lager l Warning -logErr :: Lager -> Text -> IO ()+logErr :: Lager -> String -> IO () logErr l = lager l Err -logCrit :: Lager -> Text -> IO ()+logCrit :: Lager -> String -> IO () logCrit l = lager l Crit -logAlert :: Lager -> Text -> IO ()+logAlert :: Lager -> String -> IO () logAlert l = lager l Alert -logEmerg :: Lager -> Text -> IO ()+logEmerg :: Lager -> String -> IO () logEmerg l = lager l Emerg  -- | Log text in IO-lager :: Lager -> Level -> Text -> IO ()+lager :: Lager -> Level -> String -> IO () lager l lvl' = atomically . logSTM l lvl'  -- | Log text in STM-logSTM :: Lager -> Level -> Text -> STM ()+logSTM :: Lager -> Level -> String -> STM () logSTM l lvl' msg = do   throwIfDrunk l   writeTChan (wc l) $ Msg lvl' msg (nm l)  -- | Extend the logger name-logSub :: Text -> Lager -> Lager+logSub :: String -> Lager -> Lager logSub nm' l = Lager nm'' [] (wc l) [] (drink l) (drunk l)   where-    nm'' | T.null nm'    = nm l-         | T.null (nm l) = nm'-         | otherwise     = nm l <> "|" <> nm'+    nm'' | null nm'    = nm l+         | null (nm l) = nm'+         | otherwise   = nm l <> "|" <> nm'  -- | Stream log messages logStream :: Lager -> (IO Msg -> IO a) -> IO a@@ -215,17 +212,18 @@     withFile path WriteMode $ \hndl ->       runHandle lgr hndl renderConsole l c -renderJournal :: Msg -> Text+renderJournal :: Msg -> String renderJournal msg =-  "<" <> T.pack (show $ fromEnum $ lvl msg) <> "> " <> renderConsole msg+  "<" <> show (fromEnum $ lvl msg) <> "> " <> renderConsole msg -renderConsole :: Msg -> Text+renderConsole :: Msg -> String renderConsole msg-  | T.null (src msg) = txt msg-  | otherwise        = "[" <> src msg <> "] " <> txt msg+  | null (src msg) = txt msg+  | otherwise      = "[" <> src msg <> "] " <> txt msg -renderConsoleRGB :: [(Level, Color)] -> Msg -> Text+renderConsoleRGB :: [(Level, Color)] -> Msg -> String renderConsoleRGB m msg =+  T.unpack $   renderLazy $   layoutPretty defaultLayoutOptions $   annLevelColor (lvl msg) m $@@ -235,7 +233,7 @@ runHandle   :: Lager   -> Handle-  -> (Msg -> Text)+  -> (Msg -> String)   -> Level   -> TChan Msg   -> IO ()@@ -249,10 +247,10 @@           msgs <- listTChan c           return $ mapM_ (logHandle hndl render l) msgs -logHandle :: Handle -> (Msg -> Text) -> Level -> Msg -> IO ()+logHandle :: Handle -> (Msg -> String) -> Level -> Msg -> IO () logHandle hndl render l msg   | not (visible l msg) = return ()-  | otherwise           = T.hPutStrLn hndl $ render msg+  | otherwise           = hPutStrLn hndl $ render msg  listTChan :: TChan a -> STM [a] listTChan t = loop
test/Main.hs view
@@ -1,5 +1,3 @@-{-# LANGUAGE OverloadedStrings #-}- module Main (main) where  import Lager