graflog 1.0.0 → 2.0.0
raw patch · 2 files changed
+12/−4 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Graflog.Logger: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Graflog.Logger.Protected a)
+ Graflog.Logger: instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Graflog.Logger.Protected a)
Files
- graflog.cabal +4/−2
- src/Graflog/Logger.hs +8/−2
graflog.cabal view
@@ -1,5 +1,5 @@ name: graflog-version: 1.0.0+version: 2.0.0 synopsis: Monadic correlated log events description: Please see README.md homepage: https://github.com/m-arnold/graflog#readme@@ -22,7 +22,7 @@ , aeson , bytestring default-language: Haskell2010- default-extensions: GeneralizedNewtypeDeriving DeriveFunctor+ default-extensions: GeneralizedNewtypeDeriving DeriveFunctor FlexibleContexts FlexibleInstances test-suite graflog-test type: exitcode-stdio-1.0@@ -33,6 +33,8 @@ , test-fixture , hspec , mtl+ , text+ , aeson ghc-options: -threaded -rtsopts -with-rtsopts=-N default-language: Haskell2010 default-extensions: ConstraintKinds DeriveGeneric FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving KindSignatures LambdaCase MultiParamTypeClasses NamedFieldPuns OverloadedStrings RankNTypes ScopedTypeVariables TypeOperators DuplicateRecordFields
src/Graflog/Logger.hs view
@@ -12,19 +12,25 @@ , jsonEncode ) where -import Data.Aeson (ToJSON, FromJSON, encode, Value)+import Data.Aeson import Data.Aeson.TH (deriveJSON, defaultOptions, fieldLabelModifier) import Data.ByteString (ByteString) import Data.ByteString.Lazy (toStrict) import Data.Maybe (fromJust) import Data.String (IsString)-import Data.Text (Text)+import Data.Text (Text(..)) import Data.Text.Conversions (decodeConvertText, UTF8(..)) import Graflog.Console newtype Protected a = Protected { unProtect :: a } deriving (Functor, Show, Eq)++instance ToJSON a => ToJSON (Protected a) where+ toJSON (Protected a) = "(REDACTED)"++instance FromJSON a => FromJSON (Protected a) where+ parseJSON v = Protected <$> parseJSON v class Monad m => Logger m where logEvent :: Event -> m ()