Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
- newtype Logger = Logger (ManagedPtr Logger)
- class GObject o => IsLogger o
- toLogger :: IsLogger o => o -> IO Logger
- noLogger :: Maybe Logger
- data LoggerAttachMethodInfo
- loggerAttach :: (HasCallStack, MonadIO m, IsLogger a, IsSession b) => a -> b -> m ()
- data LoggerDetachMethodInfo
- loggerDetach :: (HasCallStack, MonadIO m, IsLogger a, IsSession b) => a -> b -> m ()
- loggerNew :: (HasCallStack, MonadIO m) => LoggerLogLevel -> Int32 -> m Logger
- data LoggerSetPrinterMethodInfo
- loggerSetPrinter :: (HasCallStack, MonadIO m, IsLogger a) => a -> LoggerPrinter -> m ()
- data LoggerSetRequestFilterMethodInfo
- loggerSetRequestFilter :: (HasCallStack, MonadIO m, IsLogger a) => a -> LoggerFilter -> m ()
- data LoggerSetResponseFilterMethodInfo
- loggerSetResponseFilter :: (HasCallStack, MonadIO m, IsLogger a) => a -> LoggerFilter -> m ()
- data LoggerLevelPropertyInfo
- constructLoggerLevel :: IsLogger o => LoggerLogLevel -> IO (GValueConstruct o)
- getLoggerLevel :: (MonadIO m, IsLogger o) => o -> m LoggerLogLevel
- loggerLevel :: AttrLabelProxy "level"
- setLoggerLevel :: (MonadIO m, IsLogger o) => o -> LoggerLogLevel -> m ()
- data LoggerMaxBodySizePropertyInfo
- constructLoggerMaxBodySize :: IsLogger o => Int32 -> IO (GValueConstruct o)
- getLoggerMaxBodySize :: (MonadIO m, IsLogger o) => o -> m Int32
- loggerMaxBodySize :: AttrLabelProxy "maxBodySize"
- setLoggerMaxBodySize :: (MonadIO m, IsLogger o) => o -> Int32 -> m ()
Exported types
GObject Logger Source # | |
IsObject Logger Source # | |
IsLogger Logger Source # | |
IsSessionFeature Logger Source # | |
((~) * info (ResolveLoggerMethod t Logger), MethodInfo * info Logger p) => IsLabel t (Logger -> p) Source # | |
((~) * info (ResolveLoggerMethod t Logger), MethodInfo * info Logger p) => IsLabelProxy t (Logger -> p) Source # | |
HasAttributeList * Logger Source # | |
type AttributeList Logger Source # | |
type SignalList Logger Source # | |
Methods
attach
data LoggerAttachMethodInfo Source #
((~) * signature (b -> m ()), MonadIO m, IsLogger a, IsSession b) => MethodInfo * LoggerAttachMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsLogger a, IsSession b) | |
=> a |
|
-> b |
|
-> m () |
Deprecated: Use sessionAddFeature
instead.
Sets logger
to watch session
and print debug information for
its messages.
(The session will take a reference on logger
, which will be
removed when you call loggerDetach
, or when the session is
destroyed.)
detach
data LoggerDetachMethodInfo Source #
((~) * signature (b -> m ()), MonadIO m, IsLogger a, IsSession b) => MethodInfo * LoggerDetachMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsLogger a, IsSession b) | |
=> a |
|
-> b |
|
-> m () |
Deprecated: Use sessionRemoveFeature
instead.
Stops logger
from watching session
.
new
:: (HasCallStack, MonadIO m) | |
=> LoggerLogLevel |
|
-> Int32 |
|
-> m Logger | Returns: a new |
Creates a new Logger
with the given debug level. If level
is
LoggerLogLevelBody
, maxBodySize
gives the maximum number of
bytes of the body that will be logged. (-1 means "no limit".)
If you need finer control over what message parts are and aren't
logged, use loggerSetRequestFilter
and
loggerSetResponseFilter
.
setPrinter
data LoggerSetPrinterMethodInfo Source #
((~) * signature (LoggerPrinter -> m ()), MonadIO m, IsLogger a) => MethodInfo * LoggerSetPrinterMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsLogger a) | |
=> a |
|
-> LoggerPrinter |
|
-> m () |
Sets up an alternate log printing routine, if you don't want the log to go to <literal>stdout</literal>.
setRequestFilter
data LoggerSetRequestFilterMethodInfo Source #
((~) * signature (LoggerFilter -> m ()), MonadIO m, IsLogger a) => MethodInfo * LoggerSetRequestFilterMethodInfo a signature Source # | |
loggerSetRequestFilter Source #
:: (HasCallStack, MonadIO m, IsLogger a) | |
=> a |
|
-> LoggerFilter |
|
-> m () |
Sets up a filter to determine the log level for a given request.
For each HTTP request logger
will invoke requestFilter
to
determine how much (if any) of that request to log. (If you do not
set a request filter, logger
will just always log requests at the
level passed to loggerNew
.)
setResponseFilter
data LoggerSetResponseFilterMethodInfo Source #
((~) * signature (LoggerFilter -> m ()), MonadIO m, IsLogger a) => MethodInfo * LoggerSetResponseFilterMethodInfo a signature Source # | |
loggerSetResponseFilter Source #
:: (HasCallStack, MonadIO m, IsLogger a) | |
=> a |
|
-> LoggerFilter |
|
-> m () |
Sets up a filter to determine the log level for a given response.
For each HTTP response logger
will invoke responseFilter
to
determine how much (if any) of that response to log. (If you do not
set a response filter, logger
will just always log responses at
the level passed to loggerNew
.)
Properties
level
data LoggerLevelPropertyInfo Source #
constructLoggerLevel :: IsLogger o => LoggerLogLevel -> IO (GValueConstruct o) Source #
getLoggerLevel :: (MonadIO m, IsLogger o) => o -> m LoggerLogLevel Source #
loggerLevel :: AttrLabelProxy "level" Source #
setLoggerLevel :: (MonadIO m, IsLogger o) => o -> LoggerLogLevel -> m () Source #
maxBodySize
data LoggerMaxBodySizePropertyInfo Source #
constructLoggerMaxBodySize :: IsLogger o => Int32 -> IO (GValueConstruct o) Source #
loggerMaxBodySize :: AttrLabelProxy "maxBodySize" Source #