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 |
GI.Soup.Objects.Logger
Contents
Description
- newtype Logger = Logger (ManagedPtr Logger)
- class GObject o => IsLogger o
- toLogger :: (MonadIO m, IsLogger o) => o -> m Logger
- noLogger :: Maybe Logger
- loggerAttach :: (HasCallStack, MonadIO m, IsLogger a, IsSession b) => a -> b -> m ()
- loggerDetach :: (HasCallStack, MonadIO m, IsLogger a, IsSession b) => a -> b -> m ()
- loggerNew :: (HasCallStack, MonadIO m) => LoggerLogLevel -> Int32 -> m Logger
- loggerSetPrinter :: (HasCallStack, MonadIO m, IsLogger a) => a -> LoggerPrinter -> m ()
- loggerSetRequestFilter :: (HasCallStack, MonadIO m, IsLogger a) => a -> LoggerFilter -> m ()
- loggerSetResponseFilter :: (HasCallStack, MonadIO m, IsLogger a) => a -> LoggerFilter -> m ()
- constructLoggerLevel :: IsLogger o => LoggerLogLevel -> IO (GValueConstruct o)
- getLoggerLevel :: (MonadIO m, IsLogger o) => o -> m LoggerLogLevel
- setLoggerLevel :: (MonadIO m, IsLogger o) => o -> LoggerLogLevel -> m ()
- constructLoggerMaxBodySize :: IsLogger o => Int32 -> IO (GValueConstruct o)
- getLoggerMaxBodySize :: (MonadIO m, IsLogger o) => o -> m Int32
- setLoggerMaxBodySize :: (MonadIO m, IsLogger o) => o -> Int32 -> m ()
Exported types
Constructors
Logger (ManagedPtr Logger) |
Methods
attach
Arguments
:: (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
Arguments
:: (HasCallStack, MonadIO m, IsLogger a, IsSession b) | |
=> a |
|
-> b |
|
-> m () |
Deprecated: Use sessionRemoveFeature
instead.
Stops logger
from watching session
.
new
Arguments
:: (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
Arguments
:: (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
loggerSetRequestFilter Source #
Arguments
:: (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
loggerSetResponseFilter Source #
Arguments
:: (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
constructLoggerLevel :: IsLogger o => LoggerLogLevel -> IO (GValueConstruct o) Source #
getLoggerLevel :: (MonadIO m, IsLogger o) => o -> m LoggerLogLevel Source #
setLoggerLevel :: (MonadIO m, IsLogger o) => o -> LoggerLogLevel -> m () Source #
maxBodySize
constructLoggerMaxBodySize :: IsLogger o => Int32 -> IO (GValueConstruct o) Source #