monad-logger-aeson 0.2.0.2 → 0.3.0.0
raw patch · 5 files changed
+24/−19 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Control.Monad.Logger.Aeson: (.@) :: (KeyValue kv, ToJSON v) => Key -> v -> kv
- Control.Monad.Logger.Aeson.Internal: (.@) :: (KeyValue kv, ToJSON v) => Key -> v -> kv
+ Control.Monad.Logger.Aeson: data SeriesElem
+ Control.Monad.Logger.Aeson.Internal: UnsafeSeriesElem :: Series -> SeriesElem
+ Control.Monad.Logger.Aeson.Internal: [unSeriesElem] :: SeriesElem -> Series
+ Control.Monad.Logger.Aeson.Internal: instance Data.Aeson.Types.ToJSON.KeyValue Control.Monad.Logger.Aeson.Internal.SeriesElem
+ Control.Monad.Logger.Aeson.Internal: newtype SeriesElem
- Control.Monad.Logger.Aeson: (:#) :: Text -> [Series] -> Message
+ Control.Monad.Logger.Aeson: (:#) :: Text -> [SeriesElem] -> Message
- Control.Monad.Logger.Aeson.Internal: (:#) :: Text -> [Series] -> Message
+ Control.Monad.Logger.Aeson.Internal: (:#) :: Text -> [SeriesElem] -> Message
Files
- CHANGELOG.md +6/−0
- library/Control/Monad/Logger/Aeson.hs +2/−2
- library/Control/Monad/Logger/Aeson/Internal.hs +14/−15
- monad-logger-aeson.cabal +1/−1
- package.yaml +1/−1
CHANGELOG.md view
@@ -1,5 +1,11 @@ # Change log +## 0.3.0.0++* Remove deprecated `(.@)` operator+* Message metadata is now of type `[SeriesElem]` instead of `[Series]`+ * _Should_ be backwards-compatible based on library's recommended usage+ ## 0.2.0.2 * Support `text-2.0`
library/Control/Monad/Logger/Aeson.hs view
@@ -9,7 +9,7 @@ -- * Types Message(..)- , (.@)+ , SeriesElem , LoggedMessage(..) -- * Logging functions@@ -91,7 +91,7 @@ import Control.Monad.Catch (MonadMask, MonadThrow) import Control.Monad.IO.Class (MonadIO(liftIO)) import Control.Monad.Logger.Aeson.Internal- ( LoggedMessage(..), Message(..), OutputOptions(..), (.@), KeyMap+ ( LoggedMessage(..), Message(..), OutputOptions(..), KeyMap, SeriesElem ) import Data.Aeson (KeyValue((.=)), Value(String)) import Data.Aeson.Types (Pair)
library/Control/Monad/Logger/Aeson/Internal.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE BlockArguments #-} {-# LANGUAGE CPP #-} {-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE OverloadedStrings #-}@@ -13,7 +13,7 @@ -- ** @Message@-related Message(..)- , (.@)+ , SeriesElem(..) , LoggedMessage(..) , threadContextStore , logCS@@ -101,15 +101,14 @@ keyMapUnion :: KeyMap v -> KeyMap v -> KeyMap v keyMapUnion = AesonCompat.union --- | Synonym for '(.=)' from @aeson@.------ This operator is deprecated and will be removed in a future version. Please--- use '(.=)' instead, which is re-exported from "Data.Aeson".+-- | A single key-value pair, where the value is encoded JSON. This is a more+-- restricted version of 'Series': a 'SeriesElem' encapsulates exactly one+-- key-value pair, whereas a 'Series' encapsulates zero or more key-value pairs. ----- @since 0.1.0.0-(.@) :: (KeyValue kv, ToJSON v) => Key -> v -> kv-(.@) = (.=)-{-# DEPRECATED (.@) "This operator will be removed in a future major version." #-}+-- Values of this type are only created via '(.=)' from @aeson@.+newtype SeriesElem = UnsafeSeriesElem+ { unSeriesElem :: Series+ } deriving (KeyValue) via Series -- | This type is the Haskell representation of each JSON log message produced -- by this library.@@ -239,9 +238,9 @@ loggedMessageText :# keyMapToSeriesList loggedMessageMeta } - keyMapToSeriesList :: KeyMap Value -> [Series]+ keyMapToSeriesList :: KeyMap Value -> [SeriesElem] keyMapToSeriesList =- fmap (uncurry Aeson.pair . fmap Aeson.toEncoding) . keyMapToList+ fmap (uncurry (.=)) . keyMapToList LoggedMessage { loggedMessageTimestamp@@ -254,7 +253,7 @@ } = loggedMessage -- | A 'Message' captures a textual component and a metadata component. The--- metadata component is a list of 'Series' to support tacking on arbitrary+-- metadata component is a list of 'SeriesElem' to support tacking on arbitrary -- structured data to a log message. -- -- With the @OverloadedStrings@ extension enabled, 'Message' values can be@@ -279,7 +278,7 @@ -- helps! -- -- @since 0.1.0.0-data Message = Text :# [Series]+data Message = Text :# [SeriesElem] infixr 5 :# instance IsString Message where@@ -451,7 +450,7 @@ <> ( if null messageMeta then mempty else- Aeson.pairStr "meta" $ Aeson.pairs $ mconcat messageMeta+ Aeson.pairStr "meta" $ Aeson.pairs $ foldMap unSeriesElem messageMeta ) where messageText :# messageMeta = message
monad-logger-aeson.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: monad-logger-aeson-version: 0.2.0.2+version: 0.3.0.0 synopsis: JSON logging using monad-logger interface description: @monad-logger-aeson@ provides structured JSON logging using @monad-logger@'s interface.
package.yaml view
@@ -1,5 +1,5 @@ name: monad-logger-aeson-version: '0.2.0.2'+version: '0.3.0.0' github: "jship/monad-logger-aeson" license: MIT license-file: LICENSE.md