packages feed

katip 0.3.1.2 → 0.3.1.3

raw patch · 6 files changed

+52/−5 lines, 6 filesdep +Win32PVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: Win32

API changes (from Hackage documentation)

- Katip.Core: instance Data.Aeson.Types.Class.FromJSON Katip.Core.Environment
- Katip.Core: instance Data.Aeson.Types.Class.FromJSON Katip.Core.LocJs
- Katip.Core: instance Data.Aeson.Types.Class.FromJSON Katip.Core.LogStr
- Katip.Core: instance Data.Aeson.Types.Class.FromJSON Katip.Core.Namespace
- Katip.Core: instance Data.Aeson.Types.Class.FromJSON Katip.Core.ProcessIDJs
- Katip.Core: instance Data.Aeson.Types.Class.FromJSON Katip.Core.Severity
- Katip.Core: instance Data.Aeson.Types.Class.FromJSON Katip.Core.ThreadIdText
- Katip.Core: instance Data.Aeson.Types.Class.FromJSON a => Data.Aeson.Types.Class.FromJSON (Katip.Core.Item a)
- Katip.Core: instance Data.Aeson.Types.Class.ToJSON Katip.Core.Environment
- Katip.Core: instance Data.Aeson.Types.Class.ToJSON Katip.Core.LocJs
- Katip.Core: instance Data.Aeson.Types.Class.ToJSON Katip.Core.Namespace
- Katip.Core: instance Data.Aeson.Types.Class.ToJSON Katip.Core.ProcessIDJs
- Katip.Core: instance Data.Aeson.Types.Class.ToJSON Katip.Core.Severity
- Katip.Core: instance Data.Aeson.Types.Class.ToJSON Katip.Core.SimpleLogPayload
- Katip.Core: instance Data.Aeson.Types.Class.ToJSON Katip.Core.ThreadIdText
- Katip.Core: instance Data.Aeson.Types.Class.ToJSON a => Data.Aeson.Types.Class.ToJSON (Katip.Core.Item a)
- Katip.Monadic: instance Data.Aeson.Types.Class.ToJSON Katip.Monadic.LogContexts
+ Katip.Core: instance Data.Aeson.Types.FromJSON.FromJSON Katip.Core.Environment
+ Katip.Core: instance Data.Aeson.Types.FromJSON.FromJSON Katip.Core.LocJs
+ Katip.Core: instance Data.Aeson.Types.FromJSON.FromJSON Katip.Core.LogStr
+ Katip.Core: instance Data.Aeson.Types.FromJSON.FromJSON Katip.Core.Namespace
+ Katip.Core: instance Data.Aeson.Types.FromJSON.FromJSON Katip.Core.ProcessIDJs
+ Katip.Core: instance Data.Aeson.Types.FromJSON.FromJSON Katip.Core.Severity
+ Katip.Core: instance Data.Aeson.Types.FromJSON.FromJSON Katip.Core.ThreadIdText
+ Katip.Core: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Katip.Core.Item a)
+ Katip.Core: instance Data.Aeson.Types.ToJSON.ToJSON Katip.Core.Environment
+ Katip.Core: instance Data.Aeson.Types.ToJSON.ToJSON Katip.Core.LocJs
+ Katip.Core: instance Data.Aeson.Types.ToJSON.ToJSON Katip.Core.Namespace
+ Katip.Core: instance Data.Aeson.Types.ToJSON.ToJSON Katip.Core.ProcessIDJs
+ Katip.Core: instance Data.Aeson.Types.ToJSON.ToJSON Katip.Core.Severity
+ Katip.Core: instance Data.Aeson.Types.ToJSON.ToJSON Katip.Core.SimpleLogPayload
+ Katip.Core: instance Data.Aeson.Types.ToJSON.ToJSON Katip.Core.ThreadIdText
+ Katip.Core: instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Katip.Core.Item a)
+ Katip.Monadic: instance Data.Aeson.Types.ToJSON.ToJSON Katip.Monadic.LogContexts
- Katip: itemApp :: Lens' (Item a_am8C) Namespace
+ Katip: itemApp :: Lens' (Item a_amWt) Namespace
- Katip: itemEnv :: Lens' (Item a_am8C) Environment
+ Katip: itemEnv :: Lens' (Item a_amWt) Environment
- Katip: itemHost :: Lens' (Item a_am8C) HostName
+ Katip: itemHost :: Lens' (Item a_amWt) HostName
- Katip: itemLoc :: Lens' (Item a_am8C) (Maybe Loc)
+ Katip: itemLoc :: Lens' (Item a_amWt) (Maybe Loc)
- Katip: itemMessage :: Lens' (Item a_am8C) LogStr
+ Katip: itemMessage :: Lens' (Item a_amWt) LogStr
- Katip: itemNamespace :: Lens' (Item a_am8C) Namespace
+ Katip: itemNamespace :: Lens' (Item a_amWt) Namespace
- Katip: itemPayload :: Lens (Item a_am8C) (Item a_arSS) a_am8C a_arSS
+ Katip: itemPayload :: Lens (Item a_amWt) (Item a_asWH) a_amWt a_asWH
- Katip: itemProcess :: Lens' (Item a_am8C) ProcessID
+ Katip: itemProcess :: Lens' (Item a_amWt) ProcessID
- Katip: itemSeverity :: Lens' (Item a_am8C) Severity
+ Katip: itemSeverity :: Lens' (Item a_amWt) Severity
- Katip: itemThread :: Lens' (Item a_am8C) ThreadIdText
+ Katip: itemThread :: Lens' (Item a_amWt) ThreadIdText
- Katip: itemTime :: Lens' (Item a_am8C) UTCTime
+ Katip: itemTime :: Lens' (Item a_amWt) UTCTime
- Katip.Core: itemApp :: Lens' (Item a_am8C) Namespace
+ Katip.Core: itemApp :: Lens' (Item a_amWt) Namespace
- Katip.Core: itemEnv :: Lens' (Item a_am8C) Environment
+ Katip.Core: itemEnv :: Lens' (Item a_amWt) Environment
- Katip.Core: itemHost :: Lens' (Item a_am8C) HostName
+ Katip.Core: itemHost :: Lens' (Item a_amWt) HostName
- Katip.Core: itemLoc :: Lens' (Item a_am8C) (Maybe Loc)
+ Katip.Core: itemLoc :: Lens' (Item a_amWt) (Maybe Loc)
- Katip.Core: itemMessage :: Lens' (Item a_am8C) LogStr
+ Katip.Core: itemMessage :: Lens' (Item a_amWt) LogStr
- Katip.Core: itemNamespace :: Lens' (Item a_am8C) Namespace
+ Katip.Core: itemNamespace :: Lens' (Item a_amWt) Namespace
- Katip.Core: itemPayload :: Lens (Item a_am8C) (Item a_arSS) a_am8C a_arSS
+ Katip.Core: itemPayload :: Lens (Item a_amWt) (Item a_asWH) a_amWt a_asWH
- Katip.Core: itemProcess :: Lens' (Item a_am8C) ProcessID
+ Katip.Core: itemProcess :: Lens' (Item a_amWt) ProcessID
- Katip.Core: itemSeverity :: Lens' (Item a_am8C) Severity
+ Katip.Core: itemSeverity :: Lens' (Item a_amWt) Severity
- Katip.Core: itemThread :: Lens' (Item a_am8C) ThreadIdText
+ Katip.Core: itemThread :: Lens' (Item a_amWt) ThreadIdText
- Katip.Core: itemTime :: Lens' (Item a_am8C) UTCTime
+ Katip.Core: itemTime :: Lens' (Item a_amWt) UTCTime

Files

README.md view
@@ -82,3 +82,4 @@ * [Michael Xavier](https://github.com/MichaelXavier) * [Doug Beardsley](https://github.com/mightybyte) * [Leonid Onokhov](https://github.com/sopvop)+* [Alexander Vershilov](https://github.com/qnikst)
changelog.md view
@@ -1,3 +1,7 @@+0.3.1.3+=======+* Fix build on windows+ 0.3.1.2 ======= * Add some missing test files
katip.cabal view
@@ -1,5 +1,5 @@ name:                katip-version:             0.3.1.2+version:             0.3.1.3 synopsis:            A structured logging framework. description:   Katip is a structured logging framework. See README.md for more details.@@ -68,7 +68,6 @@                , time >= 1 && < 1.7                , transformers >= 0.3 && < 0.6                , transformers-compat-               , unix >= 2.5 && < 2.8                , unordered-containers >= 0.2 && < 0.3                , monad-control >= 1.0 && < 1.1                , mtl >= 2.0 && < 2.3@@ -83,6 +82,12 @@   ghc-options:        -Wall   if flag(lib-Werror)     ghc-options: -Werror+  if os(windows)+    build-depends: Win32 >=2.3 && <2.5+    other-modules: Katip.Compat+  else+    build-depends: unix >= 2.5 && <2.8+  test-suite test   type: exitcode-stdio-1.0
+ src/Katip/Compat.hs view
@@ -0,0 +1,30 @@+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE CPP #-}+module Katip.Compat+  ( ProcessID+  , getProcessID+  ) where++import System.Win32.Process++type ProcessID = ProcessId++#if !MIN_VERSION_Win32(2,4,0)++#if defined(i386_HOST_ARCH)+# define WINDOWS_CCONV stdcall+#elif defined(x86_64_HOST_ARCH)+# define WINDOWS_CCONV ccall+#else+# error Unknown mingw32 arch+#endif++foreign import WINDOWS_CCONV unsafe "windows.h GetCurrentProcessId"+    c_GetCurrentProcessId :: IO ProcessId++getProcessID :: IO ProcessID+getProcessID = c_GetCurrentProcessId+#else+getProcessID :: IO ProcessID+getProcessID = getCurrentProcessId+#endif
src/Katip/Core.hs view
@@ -63,7 +63,12 @@ import           Lens.Micro import           Lens.Micro.TH import           Network.HostName+#if mingw32_HOST_OS+import           Katip.Compat+#else import           System.Posix+#endif+ -------------------------------------------------------------------------------  
test/Katip/Tests/Scribes/Handle.hs view
@@ -7,10 +7,11 @@ import           Control.Monad import           Data.Aeson import qualified Data.ByteString.Lazy       as BL+import qualified Data.ByteString.Char8      as B import           Data.Monoid import           Data.Text                  (Text) import qualified Data.Text                  as T-import qualified Data.Text.IO               as T+import qualified Data.Text.Encoding         as T import qualified Data.Text.Lazy             as LT import qualified Data.Text.Lazy.Builder     as LT import           Data.Time@@ -211,13 +212,14 @@ ------------------------------------------------------------------------------- writeTextLog :: (FilePath, Handle) -> IO (BL.ByteString) writeTextLog (path, h) = do-    mapM_ (T.hPutStrLn h . formatOne) genItems-    mapM_ (T.hPutStrLn h . formatOne) genTypedItems+    mapM_ (put . formatOne) genItems+    mapM_ (put . formatOne) genTypedItems     hClose h     BL.readFile path   where     formatOne :: LogItem a => Item a -> Text     formatOne = LT.toStrict . LT.toLazyText . formatItem False V3+    put = B.hPutStrLn h . T.encodeUtf8  setupTempFile :: IO (FilePath, Handle) setupTempFile = do