packages feed

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