Sentry.Raven
- Package
- purescript-sentry-raven
- Repository
- adamczykm/purescript-sentry-raven
Re-exports from Sentry.Raven.Breadcrumb
#Type Source
data TypeRepresents possible types of a breadcrumb with special treatment from Sentry API
Constructors
Instances
#Breadcrumb' Source
type Breadcrumb' a = Breadcrumb a XBreadcrumb type with no associated data
#Breadcrumb Source
newtype Breadcrumb a dBreadcrumb type aggregating breadcrumb data supported by Sentry API
Constructors
Breadcrumb (BreadcrumbT a d)
Instances
(Eq a, Eq d) => Eq (Breadcrumb a d)(ReadForeign a, ReadForeign d) => ReadForeign (Breadcrumb a d)(WriteForeign a, WriteForeign d) => WriteForeign (Breadcrumb a d)
#recordBreadcrumb' Source
recordBreadcrumb' :: forall d a eff ctx h. WriteForeign a => WriteForeign d => Raven h ctx -> Breadcrumb a d -> Eff (raven :: RAVEN h | eff) UnitAdds a breadcrumb to the current context. Notice that replacing context will cause recorded breadcrumbs to be dropped. You may also want to use 'recordBreadcrumb' from 'Sentry.Raven.Core' for non-restricted version of this function.
#breadcrumb Source
breadcrumb :: forall d a. a -> (BreadcrumbT a d -> BreadcrumbT a d) -> Breadcrumb a dAllows for convenient creation of a restricted breadcrumb.
Re-exports from Sentry.Raven.Core
#withUser Source
withUser :: forall a t2 t1 eff ctx h. WriteForeign { user :: t1 | ctx } => ReadForeign { user :: t1 | ctx } => Raven h { user :: t1 | ctx } -> t2 -> (forall h'. Raven h' { user :: t2 | ctx } -> Eff (raven :: RAVEN h' | eff) a) -> Eff (raven :: RAVEN h | eff) aRuns given effect with new user context. May change the type of the context.
#withRaven Source
withRaven :: forall eff opts ctx a. WriteForeign ctx => Dsn -> opts -> ctx -> (forall h. (Raven h ctx -> Eff (raven :: RAVEN h | eff) a)) -> Eff eff aInitializes Raven library and runs given effect in given Raven context, which allows to use the rest of the library function and automatically log uncaught exceptions. For more information about rejected promises, DSN, configuration options and contexts, please consult Raven library or Sentry documentation.
#withNewContext Source
withNewContext :: forall a eff ctx' ctx h. WriteForeign ctx => WriteForeign ctx' => ReadForeign ctx => ReadForeign ctx' => Raven h ctx -> ctx' -> (forall h'. Raven h' ctx' -> Eff (raven :: RAVEN h' | eff) a) -> Eff (raven :: RAVEN h | eff) aRuns given effect within a scope of new context. May change the type of the context.
#withChangedContext Source
withChangedContext :: forall a eff ctx' ctx h. WriteForeign ctx => WriteForeign ctx' => ReadForeign ctx => ReadForeign ctx' => Raven h ctx -> (ctx -> ctx') -> (forall h'. Raven h' ctx' -> Eff (raven :: RAVEN h' | eff) a) -> Eff (raven :: RAVEN h | eff) aRuns given effect within a scope of modified context. May change the type of the context.
#withAddedTags Source
withAddedTags :: forall a t3 t2 t1 eff ctx h. Union t2 t1 t3 => WriteForeign { tags :: Record t1 | ctx } => ReadForeign { tags :: Record t1 | ctx } => Raven h { tags :: Record t1 | ctx } -> Record t2 -> (forall h'. Raven h' { tags :: Record t3 | ctx } -> Eff (raven :: RAVEN h' | eff) a) -> Eff (raven :: RAVEN h | eff) aAdds given set of tags to the context and runs given effect within a scope of it. May change the type of the context.
#withAddedExtraContext Source
withAddedExtraContext :: forall a t3 t2 t1 eff ctx h. Union t2 t1 t3 => WriteForeign { extra :: Record t1 | ctx } => ReadForeign { extra :: Record t1 | ctx } => Raven h { extra :: Record t1 | ctx } -> Record t2 -> (forall h'. Raven h' { extra :: Record t3 | ctx } -> Eff (raven :: RAVEN h' | eff) a) -> Eff (raven :: RAVEN h | eff) aRuns given effect within a scope of additional extra context. May change the type of the context.
#setUser Source
setUser :: forall t1 eff ctx h. WriteForeign { user :: t1 | ctx } => ReadForeign { user :: t1 | ctx } => Raven h { user :: t1 | ctx } -> t1 -> Eff (raven :: RAVEN h | eff) UnitReplaces set user in the current Raven context.
#setTags Source
setTags :: forall t1 eff ctx h. WriteForeign { tags :: t1 | ctx } => ReadForeign { tags :: t1 | ctx } => Raven h { tags :: t1 | ctx } -> t1 -> Eff (raven :: RAVEN h | eff) UnitReplaces set of tags in the current Raven context.
#setExtraContext Source
setExtraContext :: forall t1 eff ctx h. WriteForeign { extra :: t1 | ctx } => ReadForeign { extra :: t1 | ctx } => Raven h { extra :: t1 | ctx } -> t1 -> Eff (raven :: RAVEN h | eff) UnitReplaces extra context data in the current Raven context.
#setContext Source
setContext :: forall eff ctx h. WriteForeign ctx => Raven h ctx -> ctx -> Eff (raven :: RAVEN h | eff) UnitSets current Raven context. Notice that if you want to change the type of the context you should use 'withNewContext' function.
#recordBreadcrumb Source
recordBreadcrumb :: forall a r eff ctx h. WriteForeign { category :: a | r } => Raven h ctx -> { category :: a | r } -> Eff (raven :: RAVEN h | eff) UnitAdds a breadcrumb to the current context. Notice that replacing context will cause recorded breadcrumbs to be dropped. You may also want to use 'recordBreadcrumb'' from 'Sentry.Raven.Breadcrumb' for type-restricted version of this function.
#modifyUser Source
modifyUser :: forall t1 eff ctx h. WriteForeign { user :: t1 | ctx } => ReadForeign { user :: t1 | ctx } => Raven h { user :: t1 | ctx } -> (t1 -> t1) -> Eff (raven :: RAVEN h | eff) UnitModifies set user in the current Raven context.
#modifyTags Source
modifyTags :: forall t1 eff ctx h. WriteForeign { tags :: t1 | ctx } => ReadForeign { tags :: t1 | ctx } => Raven h { tags :: t1 | ctx } -> (t1 -> t1) -> Eff (raven :: RAVEN h | eff) UnitModifies set of tags in the current Raven context.
#modifyExtraContext Source
modifyExtraContext :: forall t1 eff ctx h. WriteForeign { extra :: t1 | ctx } => ReadForeign { extra :: t1 | ctx } => Raven h { extra :: t1 | ctx } -> (t1 -> t1) -> Eff (raven :: RAVEN h | eff) UnitModifies extra context data in the current Raven context.
#modifyContext Source
modifyContext :: forall eff ctx h. WriteForeign ctx => ReadForeign ctx => Raven h ctx -> (ctx -> ctx) -> Eff (raven :: RAVEN h | eff) UnitModifies current Raven context. Notice that if you want to change the type of the context you should use 'withChangedContext' function.
#getContext Source
getContext :: forall eff ctx h. ReadForeign ctx => Raven h ctx -> Eff (raven :: RAVEN h | eff) ctxReturns current Raven context.
#captureMessage Source
captureMessage :: forall extra msg eff ctx h. WriteForeign msg => WriteForeign extra => Raven h ctx -> msg -> extra -> Eff (raven :: RAVEN h | eff) UnitLogs non-exceptional behaviour of a program to given Raven instance. Parses msg argument as message and stores extra as additional data.
#captureException Source
captureException :: forall extra err eff ctx h. WriteForeign err => WriteForeign extra => Raven h ctx -> err -> extra -> Eff (raven :: RAVEN h | eff) UnitLogs exceptional behaviour of a program to given Raven instance. Parses err argument to message and stores extra as additional error data.
Re-exports from Sentry.Raven.Utils
#parseForeignNested' Source
parseForeignNested' :: forall a. ReadForeign a => List RIx -> Foreign -> Maybe aAllows for convenient parsing of nested subobjects. Discards errors.
#parseForeignNested Source
parseForeignNested :: forall a. ReadForeign a => List RIx -> Foreign -> F aAllows for convenient parsing of nested subobjects