Hello community, here is the log from the commit of package ghc-log for openSUSE:Factory checked in at 2017-08-31 20:48:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-log (Old) and /work/SRC/openSUSE:Factory/.ghc-log.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "ghc-log" Thu Aug 31 20:48:15 2017 rev:3 rq:513423 version:0.9.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-log/ghc-log.changes 2017-05-18 20:50:53.489487369 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-log.new/ghc-log.changes 2017-08-31 20:48:15.852504030 +0200 @@ -1,0 +2,5 @@ +Thu Jul 27 14:06:02 UTC 2017 - psimons@suse.com + +- Update to version 0.9.0.1. + +------------------------------------------------------------------- Old: ---- log-0.7.tar.gz log.cabal New: ---- log-0.9.0.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-log.spec ++++++ --- /var/tmp/diff_new_pack.mCGgeq/_old 2017-08-31 20:48:16.728381086 +0200 +++ /var/tmp/diff_new_pack.mCGgeq/_new 2017-08-31 20:48:16.732380524 +0200 @@ -19,14 +19,13 @@ %global pkg_name log %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.7 +Version: 0.9.0.1 Release: 0 Summary: Structured logging solution with multiple backends License: BSD-3-Clause Group: Development/Languages/Other Url: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz -Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-log-base-devel BuildRequires: ghc-log-elasticsearch-devel @@ -74,7 +73,6 @@ %prep %setup -q -n %{pkg_name}-%{version} -cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build @@ -97,5 +95,6 @@ %files devel -f %{name}-devel.files %defattr(-,root,root,-) +%doc CHANGELOG.md README.md %changelog ++++++ log-0.7.tar.gz -> log-0.9.0.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/CHANGELOG.md new/log-0.9.0.1/CHANGELOG.md --- old/log-0.7/CHANGELOG.md 1970-01-01 01:00:00.000000000 +0100 +++ new/log-0.9.0.1/CHANGELOG.md 2017-06-20 18:22:15.000000000 +0200 @@ -0,0 +1,40 @@ +# log-0.9.0.0 (2017-05-04) +* Updated the Elasticsearch back-end to work with bloodhound-0.14.0.0 (#30). +* The following modules are now deprecated: Log.Backend.ElasticSearch, + Log.Backend.ElasticSearch.Internal, + Log.Backend.ElasticSearch.Lens. Use V1/V5 variants directly (#30). + +# log-0.8 (2017-03-16) +* Added a few MTL class instances (#28). +* Made ElasticSearchConfig an abstract type (#27). +* Added support for HTTPS and basic auth to log-elasticsearch (#26). + +# log-0.7 (2016-11-25) +* Split into four libraries (log, log-base, log-postgres, + log-elasticsearch). +* Improved documentation (#22). +* Implement 'toEncoding' directly in 'ToJSON' instances (#21). + +# log-0.6 (2016-11-22) +* Moved 'withLogger' to 'Log.Internal.Logger'. + +# log-0.5.7 (2016-11-22) +* Remove the dependency on 'cond'. +* Fix formatting in 'mkBulkLogger' haddocks (#16). +* Generalise the types of 'logAttention', 'logInfo' and 'logTrace' + (#17). + +# log-0.5.5 (2016-11-16) +* Add an in-memory logging backend for testing (#13). +* Fix the deprecation message for stdout logger. + +# log-0.5.4 (2016-10-21) +* New logger creation API, which is harder to misuse. +* Remove the use of finalisers in favour of the new logger API. +* Fix a JSON serialisation issue affecting the Elasticsearch back-end. +* Make the Elasticsearch back-end compatible with Elasticsearch 1.x. +* Fix a synchronisation issue affecting the Elasticsearch back-end. +* Add a test suite and Travis-based CI. + +# log-0.1.0 +* Initial version. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/README.md new/log-0.9.0.1/README.md --- old/log-0.7/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/log-0.9.0.1/README.md 2017-06-20 18:22:15.000000000 +0200 @@ -0,0 +1,38 @@ +# log [![Hackage version](https://img.shields.io/hackage/v/log.svg?label=Hackage)](https://hackage.haskell.org/package/log) [![Build Status](https://secure.travis-ci.org/scrive/log.svg?branch=master)](http://travis-ci.org/scrive/log) + +A library that provides a way to record structured log messages with +multiple back ends. + +Supported back ends: + +* Standard output +* Elasticsearch +* PostgreSQL + +The `log` library provides Elasticsearch and PostgreSQL back ends. If +you only need one of those, use `log-base` and `log-elasticsearch` or +`log-postgres`. + +## Example + +```haskell +{-# LANGUAGE OverloadedStrings #-} + +module Main where + +import Log +import Log.Backend.ElasticSearch.V5 + +import System.Random + +main :: IO () +main = do + let config = defaultElasticSearchConfig { + esServer = "http://localhost:9200", + esIndex = "logs", + esMapping = "log" + } + withElasticSearchLogger config randomIO $ \logger -> + runLogT "main" logger $ do + logTrace_ "foo" +``` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/bench/Bench.hs new/log-0.9.0.1/bench/Bench.hs --- old/log-0.7/bench/Bench.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/log-0.9.0.1/bench/Bench.hs 2017-06-20 18:22:15.000000000 +0200 @@ -0,0 +1,65 @@ +module Main where + +import Log +import Log.Backend.ElasticSearch.V5 +import Log.Backend.PostgreSQL + +import Control.Concurrent +import Control.Monad +import Control.Monad.Base +import Control.Monad.IO.Class +import Database.PostgreSQL.PQTypes +import Data.Monoid +import System.Environment +import System.Random +import TextShow + +import qualified Data.Text as T +import qualified System.Remote.Monitoring as EKG + +-- Usage: +-- +-- 1. (Optional) Start elasticsearch/postgres +-- 2. Run the benchmark exe with the appropriate argument ('postgres'/'elastic'). +-- 3. Open htop and/or localhost:8000 in the browser +-- 4. Stop elasticsearch/postgres +-- 5. Observe the memory allocation behaviour. + +main :: IO () +main = do + void $ EKG.forkServer "localhost" 8000 + args <- getArgs + case args of + ["postgres"] -> benchPostgres defConnString + ["postgres", connString] -> benchPostgres (T.pack connString) + ["elastic"] -> benchElastic + _ -> benchElastic + +defConnString :: T.Text +defConnString = "postgresql://user:password@localhost/log-postgresql-bench" + +benchPostgres :: T.Text -> IO () +benchPostgres connString = do + putStrLn "postgres" + ConnectionSource connSource <- poolSource def { csConnInfo = connString } 1 10 1 + withPgLogger connSource $ + \logger -> forever $ benchLogger logger + +benchElastic :: IO () +benchElastic = do + putStrLn "elastic" + let config = defaultElasticSearchConfig + withElasticSearchLogger config randomIO $ + \logger -> forever $ benchLogger logger + + +benchLogger :: (MonadIO m, MonadTime m, MonadBase IO m) => Logger -> m () +benchLogger logger= do + liftIO $ putStrLn "writing 100 000 log messages..." + + runLogT "log-bench-elasticsearch" logger $ + forM_ [0..10000] $ \(i :: Int) -> + logTrace_ ("kaboozle kaboozle kaboozle kaboozle kaboozle " <> showt i) + + liftIO $ putStrLn "sleeping for 1 s..." + liftIO $ threadDelay 1000000 {- 1 sec -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/log.cabal new/log-0.9.0.1/log.cabal --- old/log-0.7/log.cabal 2016-11-25 10:09:31.000000000 +0100 +++ new/log-0.9.0.1/log.cabal 2017-06-20 18:22:15.000000000 +0200 @@ -1,5 +1,5 @@ name: log -version: 0.7 +version: 0.9.0.1 synopsis: Structured logging solution with multiple backends description: A library that provides a way to record structured @@ -25,7 +25,8 @@ category: System build-type: Simple cabal-version: >=1.10 -tested-with: GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1 +extra-source-files: CHANGELOG.md, README.md +tested-with: GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2 Source-repository head Type: git @@ -34,6 +35,14 @@ library exposed-modules: Log, Log.Backend.ElasticSearch, + Log.Backend.ElasticSearch.Internal, + Log.Backend.ElasticSearch.Lens, + Log.Backend.ElasticSearch.V1, + Log.Backend.ElasticSearch.V1.Internal, + Log.Backend.ElasticSearch.V1.Lens, + Log.Backend.ElasticSearch.V5, + Log.Backend.ElasticSearch.V5.Internal, + Log.Backend.ElasticSearch.V5.Lens, Log.Backend.PostgreSQL, Log.Backend.StandardOutput, Log.Backend.StandardOutput.Bulk, @@ -45,9 +54,9 @@ Log.Monad build-depends: base <5, - log-base >= 0.7, - log-elasticsearch >= 0.7, - log-postgres >= 0.7 + log-base >= 0.7.1.1 && < 0.9, + log-elasticsearch >= 0.9.0.1 && < 0.10, + log-postgres >= 0.7.0.1 && < 0.9 hs-source-dirs: src @@ -104,3 +113,22 @@ default-extensions: BangPatterns , OverloadedStrings , RecordWildCards + +benchmark log-bench + type: exitcode-stdio-1.0 + build-depends: base, + ekg, + log, + hpqtypes, + random, + text, + text-show, + transformers, + transformers-base + hs-source-dirs: bench + main-is: Bench.hs + ghc-options: -Wall -threaded "-with-rtsopts=-T -sstderr" + default-language: Haskell2010 + default-extensions: OverloadedStrings, + FlexibleContexts, + ScopedTypeVariables diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/src/Log/Backend/ElasticSearch/Internal.hs new/log-0.9.0.1/src/Log/Backend/ElasticSearch/Internal.hs --- old/log-0.7/src/Log/Backend/ElasticSearch/Internal.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/log-0.9.0.1/src/Log/Backend/ElasticSearch/Internal.hs 2017-06-20 18:22:15.000000000 +0200 @@ -0,0 +1,5 @@ +module Log.Backend.ElasticSearch.Internal + {-# DEPRECATED "Use directly Log.Backend.ElasticSearch.V1 or V5" #-} + ( module Log.Backend.ElasticSearch.V1.Internal ) where + +import Log.Backend.ElasticSearch.V1.Internal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/src/Log/Backend/ElasticSearch/Lens.hs new/log-0.9.0.1/src/Log/Backend/ElasticSearch/Lens.hs --- old/log-0.7/src/Log/Backend/ElasticSearch/Lens.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/log-0.9.0.1/src/Log/Backend/ElasticSearch/Lens.hs 2017-06-20 18:22:15.000000000 +0200 @@ -0,0 +1,5 @@ +module Log.Backend.ElasticSearch.Lens + {-# DEPRECATED "Use directly Log.Backend.ElasticSearch.V1 or V5" #-} + ( module Log.Backend.ElasticSearch.V1.Lens ) where + +import Log.Backend.ElasticSearch.V1.Lens diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/src/Log/Backend/ElasticSearch/V1/Internal.hs new/log-0.9.0.1/src/Log/Backend/ElasticSearch/V1/Internal.hs --- old/log-0.7/src/Log/Backend/ElasticSearch/V1/Internal.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/log-0.9.0.1/src/Log/Backend/ElasticSearch/V1/Internal.hs 2017-06-20 18:22:15.000000000 +0200 @@ -0,0 +1,5 @@ +module Log.Backend.ElasticSearch.V1.Internal ( + module Log.Backend.ElasticSearch.V1.Internal + ) where + +import "log-elasticsearch" Log.Backend.ElasticSearch.V1.Internal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/src/Log/Backend/ElasticSearch/V1/Lens.hs new/log-0.9.0.1/src/Log/Backend/ElasticSearch/V1/Lens.hs --- old/log-0.7/src/Log/Backend/ElasticSearch/V1/Lens.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/log-0.9.0.1/src/Log/Backend/ElasticSearch/V1/Lens.hs 2017-06-20 18:22:15.000000000 +0200 @@ -0,0 +1,5 @@ +module Log.Backend.ElasticSearch.V1.Lens ( + module Log.Backend.ElasticSearch.V1.Lens + ) where + +import "log-elasticsearch" Log.Backend.ElasticSearch.V1.Lens diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/src/Log/Backend/ElasticSearch/V1.hs new/log-0.9.0.1/src/Log/Backend/ElasticSearch/V1.hs --- old/log-0.7/src/Log/Backend/ElasticSearch/V1.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/log-0.9.0.1/src/Log/Backend/ElasticSearch/V1.hs 2017-06-20 18:22:15.000000000 +0200 @@ -0,0 +1,5 @@ +module Log.Backend.ElasticSearch.V1 ( + module Log.Backend.ElasticSearch.V1 + ) where + +import "log-elasticsearch" Log.Backend.ElasticSearch.V1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/src/Log/Backend/ElasticSearch/V5/Internal.hs new/log-0.9.0.1/src/Log/Backend/ElasticSearch/V5/Internal.hs --- old/log-0.7/src/Log/Backend/ElasticSearch/V5/Internal.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/log-0.9.0.1/src/Log/Backend/ElasticSearch/V5/Internal.hs 2017-06-20 18:22:15.000000000 +0200 @@ -0,0 +1,5 @@ +module Log.Backend.ElasticSearch.V5.Internal ( + module Log.Backend.ElasticSearch.V5.Internal + ) where + +import "log-elasticsearch" Log.Backend.ElasticSearch.V5.Internal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/src/Log/Backend/ElasticSearch/V5/Lens.hs new/log-0.9.0.1/src/Log/Backend/ElasticSearch/V5/Lens.hs --- old/log-0.7/src/Log/Backend/ElasticSearch/V5/Lens.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/log-0.9.0.1/src/Log/Backend/ElasticSearch/V5/Lens.hs 2017-06-20 18:22:15.000000000 +0200 @@ -0,0 +1,5 @@ +module Log.Backend.ElasticSearch.V5.Lens ( + module Log.Backend.ElasticSearch.V5.Lens + ) where + +import "log-elasticsearch" Log.Backend.ElasticSearch.V5.Lens diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/src/Log/Backend/ElasticSearch/V5.hs new/log-0.9.0.1/src/Log/Backend/ElasticSearch/V5.hs --- old/log-0.7/src/Log/Backend/ElasticSearch/V5.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/log-0.9.0.1/src/Log/Backend/ElasticSearch/V5.hs 2017-06-20 18:22:15.000000000 +0200 @@ -0,0 +1,5 @@ +module Log.Backend.ElasticSearch.V5 ( + module Log.Backend.ElasticSearch.V5 + ) where + +import "log-elasticsearch" Log.Backend.ElasticSearch.V5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/src/Log/Backend/ElasticSearch.hs new/log-0.9.0.1/src/Log/Backend/ElasticSearch.hs --- old/log-0.7/src/Log/Backend/ElasticSearch.hs 2016-11-25 10:09:31.000000000 +0100 +++ new/log-0.9.0.1/src/Log/Backend/ElasticSearch.hs 2017-06-20 18:22:15.000000000 +0200 @@ -1,5 +1,5 @@ -module Log.Backend.ElasticSearch ( - module Log.Backend.ElasticSearch - ) where +module Log.Backend.ElasticSearch + {-# DEPRECATED "Use directly Log.Backend.ElasticSearch.V1 or V5" #-} + ( module Log.Backend.ElasticSearch.V1 ) where -import "log-elasticsearch" Log.Backend.ElasticSearch +import Log.Backend.ElasticSearch.V1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/test/IntegrationTest.hs new/log-0.9.0.1/test/IntegrationTest.hs --- old/log-0.7/test/IntegrationTest.hs 2016-11-25 10:09:31.000000000 +0100 +++ new/log-0.9.0.1/test/IntegrationTest.hs 2017-06-20 18:22:15.000000000 +0200 @@ -3,7 +3,7 @@ import Log import Log.Backend.StandardOutput import Log.Backend.StandardOutput.Bulk -import Log.Backend.ElasticSearch +import Log.Backend.ElasticSearch.V5 import Test.ElasticSearch import Data.List diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/test/Test/ElasticSearch.hs new/log-0.9.0.1/test/Test/ElasticSearch.hs --- old/log-0.7/test/Test/ElasticSearch.hs 2016-11-25 10:09:31.000000000 +0100 +++ new/log-0.9.0.1/test/Test/ElasticSearch.hs 2017-06-20 18:22:15.000000000 +0200 @@ -6,13 +6,13 @@ ,refreshTestIndex) where -import Log.Backend.ElasticSearch +import Log.Backend.ElasticSearch.V5 import Control.Monad import Data.Aeson import Data.Text (Text) import Data.Time -import Database.Bloodhound +import Database.V5.Bloodhound import Network.HTTP.Client import Test.Tasty.HUnit @@ -25,11 +25,11 @@ defaultElasticSearchTestConfig :: ElasticSearchConfig -> IO ElasticSearchTestConfig -defaultElasticSearchTestConfig ElasticSearchConfig{..} = do +defaultElasticSearchTestConfig esc = do now <- getCurrentTime - let testServer = Server esServer + let testServer = Server (esServer esc) testIndex = IndexName $ T.concat - [ esIndex + [ esIndex esc , "-" , T.pack $ formatTime defaultTimeLocale "%F" now ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/log-0.7/test/Test.hs new/log-0.9.0.1/test/Test.hs --- old/log-0.7/test/Test.hs 2016-11-25 10:09:31.000000000 +0100 +++ new/log-0.9.0.1/test/Test.hs 2017-06-20 18:22:15.000000000 +0200 @@ -1,7 +1,7 @@ module Main where import Log -import Log.Backend.ElasticSearch +import Log.Backend.ElasticSearch.V5 import Test.ElasticSearch import System.Random