packages feed

raven-haskell 0.1.2.1 → 0.1.3.0

raw patch · 5 files changed

+30/−23 lines, 5 filesdep ~time

Dependency ranges changed: time

Files

raven-haskell.cabal view
@@ -1,5 +1,5 @@ name:                raven-haskell-version:             0.1.2.1+version:             0.1.3.0 synopsis:            Haskell client for Sentry logging service. -- description:          homepage:            https://bitbucket.org/dpwiz/raven-haskell@@ -49,6 +49,7 @@     bytestring,     hspec,     raven-haskell,+    time,     unordered-containers  source-repository head
src/System/Log/Raven.hs view
@@ -60,7 +60,6 @@ import Data.UUID (UUID) import System.Random (randomIO) import Data.Time.Clock (getCurrentTime)-import Data.Time.Format (formatTime, defaultTimeLocale) import System.IO (stderr, hPutStrLn) import qualified Control.Exception as E import qualified Data.HashMap.Strict as HM@@ -105,7 +104,7 @@ stderrFallback :: SentryRecord -> IO () stderrFallback rec =     hPutStrLn stderr $ concat-        [ srTimestamp rec, " "+        [ show $ srTimestamp rec, " "         , show $ srLevel rec, " "         , srLogger rec, ": "         , srMessage rec@@ -127,7 +126,7 @@        -> IO SentryRecord record logger lvl msg upd = do     eid <- (filter (/= '-') . show) `fmap` (randomIO :: IO UUID)-    ts <- formatTime defaultTimeLocale "%Y-%m-%dT%H:%M:%S%Q" `fmap` getCurrentTime+    ts <- getCurrentTime     return $! upd (newRecord eid msg ts lvl logger)  -- | JSON-encode record data.
src/System/Log/Raven/Transport/Debug.hs view
@@ -14,7 +14,7 @@  -- | Log-like output with very few data shown. briefRecord :: SentrySettings -> SentryRecord -> IO ()-briefRecord _ rec = putStrLn $ concat [ srTimestamp rec, " "+briefRecord _ rec = putStrLn $ concat [ show $ srTimestamp rec, " "                                       , show $ srLevel rec, " "                                       , srLogger rec, ": "                                       , srMessage rec
src/System/Log/Raven/Types.hs view
@@ -12,6 +12,7 @@ import Data.Aeson (ToJSON(toJSON), Value, object, (.=)) import qualified Data.HashMap.Strict as HM import qualified Data.Text as T+import Data.Time.Clock (UTCTime)  -- * Service settings @@ -92,7 +93,7 @@ --   <https://docs.sentry.io/clientdev/attributes/> data SentryRecord = SentryRecord { srEventId     :: !String                                  , srMessage     :: !String-                                 , srTimestamp   :: !String+                                 , srTimestamp   :: !UTCTime                                  , srLevel       :: !SentryLevel                                  , srLogger      :: !String                                  , srPlatform    :: Maybe String@@ -107,7 +108,7 @@                                  } deriving (Show, Eq)  -- | Initialize a record with all required fields filled in.-newRecord :: String -> String -> String -> SentryLevel -> String -> SentryRecord+newRecord :: String -> String -> UTCTime -> SentryLevel -> String -> SentryRecord newRecord eid m t lev logger =     SentryRecord         eid m t lev logger
test/Test.hs view
@@ -8,6 +8,7 @@ import Data.Aeson (object, (.=)) import Control.Concurrent.MVar (newEmptyMVar, putMVar, takeMVar) import Data.List (sort)+import Data.Time (UTCTime(..), Day(..))  import System.Log.Raven import qualified System.Log.Raven.Interfaces as SI@@ -15,6 +16,9 @@ import System.Log.Raven.Transport.Debug (dumpRecord, briefRecord, catchRecord) import System.Log.Raven.Transport.HttpConduit (sendRecord) +ts :: UTCTime+ts = UTCTime (ModifiedJulianDay 40587) 0+ main :: IO () main = hspec $ do   describe "Types" $ do@@ -33,7 +37,7 @@         endpointURL ss `shouldBe` Just "http://example.com/sentry/api/project-id/store/"      it "generates empty record" $ do-        newRecord "" "" "" Debug "" `shouldBe` emptyRecord+        newRecord "" "" ts Debug "" `shouldBe` emptyRecord      it "generates record template" $ do         r <- strip `fmap` test@@ -219,28 +223,30 @@      }  strip rec = rec { srEventId = ""-                , srTimestamp = ""+                , srTimestamp = ts                 }  test = record "test.logger" Debug "test record please ignore" id -emptyRecord = SentryRecord { srEventId    = ""-                              , srMessage    = ""-                              , srTimestamp  = ""-                              , srLevel      = Debug-                              , srLogger     = ""-                              , srPlatform   = Nothing-                              , srCulprit    = Nothing-                              , srTags       = HM.empty-                              , srServerName = Nothing-                              , srModules    = HM.empty-                              , srExtra      = HM.empty-                              , srInterfaces = HM.empty-                              }+emptyRecord = SentryRecord { srEventId     = ""+                           , srMessage     = ""+                           , srTimestamp   = ts+                           , srLevel       = Debug+                           , srLogger      = ""+                           , srPlatform    = Nothing+                           , srCulprit     = Nothing+                           , srTags        = HM.empty+                           , srServerName  = Nothing+                           , srModules     = HM.empty+                           , srExtra       = HM.empty+                           , srInterfaces  = HM.empty+                           , srRelease     = Nothing+                           , srEnvironment = Nothing+                           }  testRecord = emptyRecord { srMessage = "test record please ignore"                          , srLevel = Debug                          , srLogger = "test.logger"                          } -testRecordLBS = LBS.pack "{\"timestamp\":\"\",\"message\":\"test record please ignore\",\"event_id\":\"\",\"level\":\"debug\",\"logger\":\"test.logger\"}"+testRecordLBS = LBS.pack "{\"logger\":\"test.logger\",\"message\":\"test record please ignore\",\"event_id\":\"\",\"timestamp\":\"1970-01-01T00:00:00Z\",\"level\":\"debug\"}"